编译原理--reading note(1)

# Compilers Principles
# reading notes
# 2016.02.03
# victor

1 引论

1.1 编译流程

    begin: 源程序
        # front end: 与源代码有关
        A.字符流-->[词法分析]-->
        B.符号流-->[语法分析]-->
        C.语法树-->[语义分析]-->
        D.语法树-->[中间代码生成]-->
        # middle end
        E.中间表示形式-->[机器无关代码优化]-->
        F.中间表示形式-->[代码生成]-->
        # back end: 与目标机有关
        G.目标机器语言-->[机器相关代码优化]-->
    end: 目标机器语言

1.1.1 词法分析
    词法分析器读入字符流,将它们组织成有意义的词素,每个词素,用词法单元(token)作为输出.
    词法单元:<token_name,attribute_value>.token_name是一个在语法分析阶段使用的抽象符号,第二个分量指向符号表中关于这个词法单元的条目.
    input example: position = initial + rate * 60;
    analysis:
        position : <id,1> id表示标识符,1表示指向的条目;
        = :        <=> 赋值运算符,属性值省略;
        initial :  <id,2>;
        + :        <+>;
        rate :     <id,3>;
        * :        <*>;
        60 :       <60>;

1.1.2 语法分析

你可能感兴趣的:(编译原理--reading note(1))