编译原理--reading note

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译原理--reading note相关的知识,希望对你有一定的参考价值。

# 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的主要内容,如果未能解决你的问题,请参考以下文章

面向对象:抽象类,继承的实现原理,封装

Java实现AOP的几种方式

Java的多态

C++多态 --- 多态实现原理简析

js实现继承

继承封装多态的实现原理