2

对于像这样的简单C程序:

#include<stdio.h>
int main(){
   int first,second,sum;
   first = 10;
   second = 20;
   sum = first + second;
   printf("%d\n",sum);
}

编译器的第一阶段词法分析之后的输出是什么?

4

2 回答 2

4

词法分析产生一个标记流。现在忽略预处理器,输出将类似于

KEYWORD int
IDENTIFIER main
LPAREN
RPAREN
LBRACE
KEYWORD int
IDENTIFIER first
COMMA
...

显然,实际输出取决于您的编译器。

于 2013-02-25T09:48:38.987 回答
1

没有输出。第一阶段可能是词法分析,但这并不意味着它是一个完全不同的过程,其输出形成下一阶段的输入。解析器通过函数调用调用词法分析器。

于 2013-02-25T22:16:24.140 回答