美文网首页
编译器 编译步骤

编译器 编译步骤

作者: Bluelich | 来源:发表于2017-03-16 17:31 被阅读13次

    一.预编译

    1.宏定义展开#define #include #indef
    2.删除注释 ( /* *///
    3.保留#pragma,给后续编译用
    4.添加行号,方便追查

    二.词法分析

    通过 有限状态机算法把你写的字符串分割成一个个的记号token
    对这些token进行简单的归类

    三.生成抽象语法树

    1.语法分析

    把token流,按顺序输入语法分析器去解读,最终将我们希望表达的自然语义,构建成了一个逻辑上的计算机能识别,能执行,能遍历的结构–树状结构-----抽象语法树 。

    2.语义分析

    对整个语法树进行遍历,静态分析,把每个节点的表达式都标识类型,并且验证是否合法。

    四.生成中间码

    中间码就是ATS和汇编代码之间的一层。它不直接生成汇编,而是在中间码的设计里打平了平台和硬件的差异。

    五.生成最终的汇编代码

    1.目标代码生成

    由中间码生成汇编码

    2.目标代码优化

    对汇编代码进行优化

    相关文章

      网友评论

          本文标题:编译器 编译步骤

          本文链接:https://www.haomeiwen.com/subject/oqpjnttx.html