问题描述
我一直在思考,出现了一个问题。这种编译器真的需要内存中完整的语法树吗?
解决方法
解析器不需要存储任何东西。它只能告诉您输入是否有效。但通常,您是出于某种目的解析输入,这将决定您需要提取哪些信息(除了简单的有效性)。
例如,编译器需要将输入程序转换为某种可执行格式。可以直接转换为机器指令(或某些中间表示),特别是如果您不太关心优化生成的代码。
在不知道解析输入的目的的情况下,无法说更具体的内容。
我一直在思考,出现了一个问题。这种编译器真的需要内存中完整的语法树吗?
解析器不需要存储任何东西。它只能告诉您输入是否有效。但通常,您是出于某种目的解析输入,这将决定您需要提取哪些信息(除了简单的有效性)。
例如,编译器需要将输入程序转换为某种可执行格式。可以直接转换为机器指令(或某些中间表示),特别是如果您不太关心优化生成的代码。
在不知道解析输入的目的的情况下,无法说更具体的内容。