编译原理开坑中……

Posted owenqing

tags:

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

编译原理

简介

  • 编译器和解释器

    /*
    
    input --> C --> output  可执行的程序       offline
    
    input --> I --> output 结果           online
    
  • /* 编译器的结构
    
    I --> 前端 --> 后端 --> O
    
    详细:
    
    I --> 【词法 --> 语法】-->【指令生成 --> 优化】 --> O
    

    技术图片

  • 栈式计算机

    /* 
    
    两条指令 push add
    
    伪代码
    // push 是压栈的意思
    
    push 1
    push 5
    push 6
    
    add {
      x = pop();
      y = pop();
      z = x + y;
      push z
    }
    
    
    
    任务:编译程序 1 + 2 + 3 到栈式计算机
    
    “1 + 2 + 3” --> 语法分析 --> (+)  --> 代码生成(树的 post order) --> stack
                            /                           (+)   (3)
                          /                         1    2
    
      n 代表数字
    (1)   n: push n
     (2)   +: add
    
    
    
     总结:
      --> 前端 --> 语法树 --> 后端 --> 代码生成
    
      优化:
    
      --> 前端 --> 语法树1 --> 优化 --> 语法树2 -->后端 -->
    
    

以上是关于编译原理开坑中……的主要内容,如果未能解决你的问题,请参考以下文章

如何避免掉进spring事务不生效的坑中

HTML开坑

稳定云台开坑指南

编译原理--语法制导翻译器

是否可以动态编译和执行 C# 代码片段?

编译原理 实验一 java语言实现对C语言词法分析