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