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