如何将#include 函数实现到自己的编程语言中

How to implement a #include function into own programming language

我在构建自己的编程语言时遇到了一个问题。我发现所有编程语言都有 # include, import, # import 函数。我正在尝试用我自己的编程语言实现相同的功能,但我不确定如何实现。

您能解释一下导入函数的运作方式、编译器如何解释它们,以及我如何用自己的编程语言做同样的事情吗?

项目Project Link

在C语言中是预处理器完成的。看看this wikipedia page.

#include其实很简单,如果你想自己实现的话。

我通常实现它的方式(当不使用“适当的”预处理器时)是将源文件视为 堆栈

当你遇到 #include 指令时,获取整行,解析它并找出要“包含”的源文件。然后压入栈中。

词法分析器将使用堆栈顶部的文件进行读取。当它到达文件末尾时,词法分析器弹出堆栈并继续从新的顶部读取。

当堆栈为空时,您已完成对原始文件的处理。