前端:编译器对程序代码的剖析和了解过程。
词法剖析: lexical analysis,分词
实现原理:无限状态机,如 lex GNUlex
语法分析: 依据语法规定生成程序的语法结构(形象语法数 AST)
递归降落办法,Yacc、JavaCC、GNU Bison、Antlr
语义剖析: 上下文剖析 打消歧义
* 变量援用消解、作用域 \~\~\~\~
* 合法性检查
* 数据类型标识
* 语义剖析的某些后果,会作为属性标注在 AST 上
后端:生成指标代码的过程,和指标机器相干。