问题是: 是否声明“int some_variable =;”在词法分析阶段或C语法中的语法分析阶段,将被解释为无效。 感谢
答案 0 :(得分:1)
在C中,首先进行词法分析。 然后预处理器将宏及其所有神奇变换应用于生成的标记流。只有在预处理器执行后才会进行语法分析。
因此,要知道问题的答案,只需在预处理器中运行代码即可。对于gcc
,这是使用-E
命令行标志的问题。如果预处理器很满意,那么根据定义,词法分析就可以了(对于你的例子就是这种情况)。
答案 1 :(得分:0)
词法分析检查您的所有令牌是否有效(它们是)。解析(或语法分析)检查令牌序列是否在语法中形成有效的生成(它没有)。因此,这将通过词法分析阶段,并使分析阶段失败。
答案 2 :(得分:0)
在句法分析阶段,又名parsing