
编译原理
文章平均质量分 73
碧羽o(* ̄▽ ̄*)ブ回雪
计算机专业有梦想的一枚菜鸟,总有一天菜鸟会变成不菜的菜鸟。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
简单的代码生成程序 SDUT 【编译原理】C++
目录Description代码:分析:Description通过三地址代码序列生成计算机的目标代码,在生成算法中,对寄存器的使用顺序为:寄存器中存有 > 空寄存器 > 内存中存有 > 以后不再使用 > 最远距离使用Input单组输入,给定输出的三地址代码的个数和寄存器的个数.所有的变量为大写字母,寄存器的数量不超过9Output参照示例格式输出,不需要将最后的寄存器中的值写回内存,不再使用变量不用写回内存Sample Input原创 2022-05-15 19:17:39 · 1180 阅读 · 1 评论 -
DAG优化 SDUT 【编译原理】 C++
目录Description代码:分析:Description大家都学过了代码优化,其中有一个DAG优化,这次我们就练习这个操作。Input输入第一行为一个整数n(n < 100),表示该组输入的表达式的个数之后n行为表达式,每个变量为一个字母,表达式仅包括二元运算 + - * / 例如:A=B+COutput通过构造DAG图,进行代码优化,只需要保留AB,删除无用变量,删除变量时,尽量保留最早出现的变量。PS:保证AB的值不同。sam...原创 2022-05-14 18:14:09 · 5815 阅读 · 3 评论 -
N - 翻译布尔表达式 SDUT C++
目录代码:分析:代码实现思路:☆错误ERROR:代码:#include <bits/stdc++.h>using namespace std;vector <string> ans;//ans中存放的是每个只含and的子bool表达式,在下面分析中有详细说明,这里的判断符长度可能不同,所以用vector与string组合数据结构的正好。int main(){ string boolStr, str; getline(cin, boolSt..原创 2022-05-01 21:33:42 · 2420 阅读 · 0 评论 -
SDUT 表达式语法分析——递归子程序法
目录Description题目分析代码Description递归子程序法是一种确定的自顶向下语法分析方法,要求文法是LL(1)文法。它的实现思想是对应文法中每个非终结符编写一个递归过程,每个过程的功能是识别由该非终结符推出的串,当某非终结符的产生式有多个候选式时能够按LL(1)形式唯一地确定选择某个候选式进行推导。请根据下面的表达式LL(1)文法,构造递归子程序,完成对表达式的语法分析。表达式文法如下:E→TGG→+TG | εT→FSS→*FS | ε..原创 2022-03-26 15:56:16 · 794 阅读 · 0 评论 -
小C语言--词法分析程序SDUT
Description小C语言文法<程序>→<main关键字>(){<声明序列><语句序列>}<声明序列>→<声明序列><声明语句>|<声明语句>|<空><声明语句>→<标识符表>;<标识符表>→<标识符>,<标识符表>|<标识符><语句序列>→<语句序列><语句>原创 2022-03-09 22:14:45 · 1221 阅读 · 0 评论