编译过程中的词法和句法分析是什么?预处理是否在词法和句法分析之后进行?

最佳答案

考虑以下代码:

     int a = 10;
     if (a < 4)
     {
          printf("%d", a);
     }

词法分析阶段:识别每个单词/ token 并为其分配含义。
在上面的代码中,首先确定 i ,后跟 n ,再由 t ,然后空格是单词 int ,并且它是语言关键字; 1 ,后跟 0 ,空格是数字 10 ,依此类推。

语法分析阶段:您验证代码是否遵循语言语法(语法规则)。例如,您检查运算符的LHS上是否只有一个变量(考虑语言C),即每个语句都由终止; ,如果后跟有条件/ bool 语句等,则为

像其他人提到的那样,预处理通常发生在词法分析或句法分析之前。

关于c - C编译器在编译过程中的词汇和句法分析是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11172287/

10-11 05:42