美文网首页
编译原理概述

编译原理概述

作者: 南苑bert | 来源:发表于2022-03-29 10:00 被阅读0次

编译器原理

词法分析器

语法分析器

语义分析器

中间代码生成

  • 符号表
  • 独立机器的代码优化器
  • 代码生成器
  • 依赖于机器的代码优化器
  • 目标机器代码
position = inital + rate * 60
name value
position ...
inital ...
rate ...

<id,1><=><id,2><+><id,3><><60>*

表达式的语法特征

  • 任何一个标识符都是表达式
  • 任何一个数都是表达式
  • 如果e1和e2都是表达式那么
    • e1+e2
    • e1*e2
    • (e1)

例:position = inital + rate * 60

initial+rate60 分析树*

graph TD;
    表达式-->表达式A;
    表达式A-->initial;
    表达式-->+;
    表达式-->表达式B;
    表达式B-->表达式B1;
    表达式B1-->rate;
    表达式B-->*;
    表达式B-->表达式B2;
    表达式B2-->数60;
    

<id,1><=><id,2><+><id,3><><60>*

  • 语法分析器语法树

    graph TD;
       =-->id,1;
       =-->+;
       +-->id,2;
       +-->*;
       *-->id,3;
       *-->inttofloat;
       inttofloat-->60;
    
  • 中间代码生成器

t1 = inttofloat(60)
t2 = id3 * t1
t3 = id2 + t2
id1 = t3
  • 代码优化器
t1 = id3 * 60
id1 = id2 + t1
  • 代码生成器
MOVF id3,R2
MULF #60,R2
MOVF id2,R1
ADDF R2,R1
MOVF R1,id1
概述
  • 解释器

    • 解释器不生成目标代码,而是直接执行源程序所指定的运算
    • 解释器也需要对源程序进行词法,语法,语义
  • 符号表管理 – 记录源程序中使用的变量的名字,收集各种属性

相关文章

  • 编译原理概述

    编译器原理 词法分析器 语法分析器 语义分析器 中间代码生成 符号表 独立机器的代码优化器 代码生成器 依赖于机器...

  • 编译原理笔记—编译概述

    编译程序是计算机系统中的重要的系统软件,是高级语言的支撑基础。本篇主要为编译原理的初步了解。 ◆编译程序 计算机只...

  • 编译原理(1)——概述

    目录 计算机语言发展 高级语言分类 翻译系统 编译系统功能分析 编译程序总体结构 编译程序的生成 打赏作者 本文引...

  • [Common] 编译原理概述

    心血来潮第二波~ 这次参照了Stanford的课啦:https://courses.edx.org/courses...

  • [转]编译原理概述

    参考原文[https://baijiahao.baidu.com/s?id=1725604677601817162...

  • 《编译原理》Decaf语言概述

    嗝,本来觉得抄下来会比较方便,结果累死了 Decaf语言规范 在本课程中,我们将为 Decaf 语言编写一个编译器...

  • 无处不在的反射

    本文不讲反射的具体实现。 1.反射的原理 - class对象 11)class对象概述 编译阶段,编译器将java...

  • 第三章 程序语言和语言处理程序基础知识

    一、概述 1、汇编、编译、解释系统的基础知识和基本工作原理。 2、程序设计语言...

  • 【MOOC:编译原理】第一章 编译概述

    第一讲 编译器概述 第二讲 编译器结构 编译器具有非常模块化的高层结构 前端:词法分析, 语法分析 后端:指令生成...

  • 编译原理

    编译原理 标签(空格分隔): 编译原理 编译和解释 编译 整个程序全部翻译结束之后,程序才能开始运行;编译和运行是...

网友评论

      本文标题:编译原理概述

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