编译器实战之cbc
文章平均质量分 90
Java实现cb语言的编译器
动弹动弹
每天记录一些学习日常
展开
-
编译原理总结
1.编译:将高级语言编写的源程序翻译成等价的机器语言或汇编语言。2.解释:将高级语言编写的源程序翻译一句执行一句,不生成目标文件,直接执行源代码文件。3.汇编:用汇编语言编写的源程序翻译成与之等价的机器语言。1.产生式规则1)定义:一个产生式规则是一个有序对(A,α)。通常写作A→α或A::=α。”→"或”::=”表示“定义为”、“由…组成”、“生成”。2)含义: A→α表示左部符号A生成右部符号串α。3)若A→α;A→β,则可以写成A→α|β。”|”表示“或”。4)非终结符号。转载 2023-03-18 11:52:19 · 104 阅读 · 0 评论 -
第14章函数和变量
所谓程序调用约定(calling convention)就是根据 CPU 和 OS 来决定函数调用的具体实现方法的约定。譬如参数传递的实现,既有把参数保存到寄存器来传递的方法,也有把参数入栈来传递的方法。原创 2022-12-12 11:08:37 · 254 阅读 · 0 评论 -
第13章 x86汇编器编程
叙述基本的x86汇编语法(AT&T 汇编)原创 2022-12-02 21:31:29 · 668 阅读 · 0 评论 -
2.Cb-Compiler的安装和使用
Cb语法在C语言的基础上进行了简化,并加入了新的元素(例如import),从而简化了编译器的制作过程,首先介绍下Cb编译器的安装,使用系统为Ubuntu20。原创 2023-03-16 21:39:25 · 322 阅读 · 0 评论 -
1.基于javacc设计的Cb-compiler
编译器是从事软件行业有关人员所必不可少的,但是大多数人只会使用编译器,并不了解编译器的原理,如何使编程语言转换为计算机可以识别的语言,下文中将进行概述,描述Cb语言的编译器的编译过程。本文所讲述的编译器,编译分为4个阶段:语法分析、语义分析、生成中间代码和代码生成。语法分析,使用语法分析器将代码转换成机器可以理解的形式,即语法树。语义分析,对语法树进一步解析处理,转化为抽象语法树,删除多余的内容,添加必要信息,如区分变量作用域、变量的声明和引用、变量和表达式的类型检查等等。原创 2023-03-16 09:17:45 · 170 阅读 · 0 评论