Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing 编译器阶段中的符号表和行号填充_Parsing_Lexical Analysis_Symbol Table - Fatal编程技术网

Parsing 编译器阶段中的符号表和行号填充

Parsing 编译器阶段中的符号表和行号填充,parsing,lexical-analysis,symbol-table,Parsing,Lexical Analysis,Symbol Table,我们知道编译器在词法分析期间将行号保存在符号表中。我一直在想,是否有可能在源代码分析的任何其他阶段保存行号?如果可能的话,那么何时以及如何进行 如果将行号保留在词法对象中,显然可以将保存的行号从某个词法组件复制到另一个组件;该副本可以在任何编译阶段生成 然而,在编译过程中,词法阶段实际上是对源代码本身进行文本分析的唯一阶段,因此,在这一阶段中,您将知道已到达源代码中的行号

我们知道编译器在词法分析期间将行号保存在符号表中。我一直在想,是否有可能在源代码分析的任何其他阶段保存行号?如果可能的话,那么何时以及如何进行

如果将行号保留在词法对象中,显然可以将保存的行号从某个词法组件复制到另一个组件;该副本可以在任何编译阶段生成

然而,在编译过程中,词法阶段实际上是对源代码本身进行文本分析的唯一阶段,因此,在这一阶段中,您将知道已到达源代码中的行号