编译过程中的词法和句法分析是什么?预处理是否在词法和句法分析之后进行?
最佳答案
考虑以下代码:
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/