【发布时间】:2011-02-26 10:35:35
【问题描述】:
一种编程语言通常带有至少部分由该语言本身实现的标准库。
在解释语言的情况下,显而易见的实现是在解释器启动时读取库源文件,但这会遇到一个混乱但持久的问题,即确保解释器知道在哪里找到这些文件,即使两者都被移动。如果它们可以嵌入解释器本身会更干净,所以只有一个可执行文件。
我可以看到一个简单的方法,只需将库源文件转换为 C 文字字符串,但我很好奇是否有任何我忽略的陷阱或对该方法的改进。
所以我的问题是,现有的解释语言将语言本身中的库源文件附加到解释器?
【问题讨论】:
-
你提到的问题根本不必出现。只是不要移动这些东西,或者在必要时更新语言等效的模块搜索路径。
-
移动事物与使用编译语言做同样的事情有何不同。要么你把东西放在编译器/解释器知道在哪里找到它们的默认位置,要么你需要告诉编译器/解释器你把它们放在哪里。
标签: programming-languages interpreter language-implementation