编译原理
文章平均质量分 72
来杯Sherry
这个作者很懒,什么都没留下…
展开
-
B - 识别浮点常量问题------编译原理机测
B - 识别浮点常量问题Description编译器在对程序进行编译之前,首先要进行语法分析。通常,程序被分解成若干个小单元,然后和语言的语法模式进行匹配。在分析表达式的时候,变量的类型在变量声明的时候就决定了;而常量的类型需要从常量的形式来判断。假设你是自动编译器(ACM)开发小组的一员,负责Pascal语言编译器的开发。你的任务是分析程序分解模块送来的文件,判断其中包含的字符串是否合乎语法的Pascal浮点常量。Pascal语言对浮点常量的语法要求是:一个浮点常量除了十进制数码之外,必须带有一个原创 2020-09-21 20:20:09 · 315 阅读 · 0 评论 -
设计一个类C编译器--编译原理实训【编译原理】
自己写词法分析,自己写语法分析(LR(1)麻烦,LL(1)还是很麻烦),词法分析:flex|lex(Linxu)https://www.cnblogs.com/ASE265/p/12532038.html语法分析:bison|yacc(Linux)https://www.cnblogs.com/ASE265/p/12532038.html原创 2021-01-19 14:52:59 · 409 阅读 · 0 评论 -
关于DAG优化后代码重建的一道经典例题【编译原理】
如下图:原创 2020-12-09 11:41:56 · 997 阅读 · 0 评论 -
简单的代码生成程序【编译原理机测】
简单的代码生成程序Description通过三地址代码序列生成计算机的目标代码,在生成算法中,对寄存器的使用顺序为:寄存器中存有 > 空寄存器 > 内存中存有 > 以后不再使用 > 最远距离使用Input单组输入,给定输出的三地址代码的个数和寄存器的个数.所有的变量为大写字母,寄存器的数量不超过9Output参照示例格式输出,不需要将最后的寄存器中的值写回内存不再使用变量不用写回内存SampleInput4 2T:=A-BU:=A-CV:=T+UW:=V+原创 2020-12-05 17:21:36 · 393 阅读 · 0 评论 -
编译原理4—6章案例复习总结【编译原理】
4—6章总结4、自上而下文法—LL(1)文法(1)first集(2)follow集 ——利用到select集(3)select集 ——利用到first、select集合(4)构造自上而下分析表 —利用select集(5)句子分析—利用LL(1)分析表,注意倒序入栈—符号栈是将表中查询到的产生式倒着写入,栈内只剩下 # 为止5、规范推导—移进规约法—直接利用推导式规约,顺序入栈,栈内只剩下第一个非终结符S为止6、LR文法状态ACTIONGOTO0……额,,不太原创 2020-11-18 17:40:16 · 397 阅读 · 0 评论 -
M - 翻译布尔表达式【编译原理机测】
M - 翻译布尔表达式Description大家都学过了布尔表达式的翻译,其中有一个拉链-回填技术,这次我们就练习这个技术。Input输入为一行字符串,例如: a < b or c < d and e < f每个符号都用空格间隔。其中逻辑运算符包含 and 和 or , 关系运算符包含 < 、> 、<= 、 >= 、== 、 != 。Output 假链跳到0,真链跳到1,表达式序号从100开始排。SampleInput a <原创 2020-11-15 20:52:14 · 720 阅读 · 0 评论 -
规范文法的整理【编译原理】
LR(0)没有任何避免冲突的手段SLR(1)简单的LR(1)文法SLR(1)只能用于存在移进-规约冲突和规约-规约冲突的文法中对应的FOLLOW集合交集为空LR(1)向前搜索符来避免冲突LALR(1)LALR(1)文法是合并LR(1)文法中同心集后不含移进归约、归约归约冲突的文法...原创 2020-10-27 20:17:13 · 380 阅读 · 0 评论 -
正规文法转正规式【编译原理】
正规文法:G[S]正规式:∑\例题理解S->A1A->A1 | S0 | 0过程:解二元方程组的思想----消元消去S,得A = A1 | A10 | 0拆分, 得 A =A1 | 0 ------------------------------------A = 0(1)*得 A =A10 | 0 ------------------------------------A = 0(10)*汇总, A = 0(1)* | 0(10)*整理, A = 0原创 2020-10-23 19:27:40 · 2987 阅读 · 4 评论 -
LR(0)分析表建表【编译原理】
/1上项目集规范族/2建表原创 2020-10-20 17:31:44 · 539 阅读 · 0 评论 -
LR分析表读表(LR分析过程)【编译原理】
上LR表!上文法(1)E->E+T(2)E->T(3)T->T*F(4)T->F(5)F->(E)(6)F->i输入串:i+i*i分析:原创 2020-10-19 17:44:46 · 4354 阅读 · 0 评论 -
编译原理第一章【复习篇】
编译程序:将高级程序设计语言写的源程序翻译成等价的机器语言形式的目标程序的翻译程序源程序:未编译的按照一定程序设计语言规范书写的文本文件目标程序:源程序编译后可直接被机器执行的机器码集合编译程序的前端:词法分析、语法分析、语义分析等一系列生成最终代码以前的操作后端:目标代码生成、代码优化遍:对源程序、或等价的中间语言从头到尾扫视并完成规定任务的过程二、编译程序的主要构成成分:词法分析:扫描分解源程序的字符。识别单词语法分析:将单词序列分解成各类语法短语语义分析:审查源程序有无语义原创 2020-09-21 21:10:36 · 140 阅读 · 0 评论