scanning:就是把输入分成一个个Token 可以理解成对各个单词的分析
parsing: 也叫句法分析 对于整个句子进行分析
semantic analysis:检查生成的句子是否有意义,有时候一句话语法正确但是没有意义 例如苹果吃了一个汽车
一个程序只有拥有了表达式 条件判断 循环等关键特质才能有意义 进而转换成汇编语言
例如像变量a这种叫做symbolic information(符号信息) 在最终转化而成的汇编语言中 是不存在符号信息的 所有的变量其实是内存地址
在最终的Abstract syntax tree形成后 其实是没有保留symbolic information的
而保留symbolic information唯一作用就是debug
scanner:
paring:
semantic:
student a;
car b;
int x = a + b;