编译原理
Summer丶snow
这个作者很懒,什么都没留下…
展开
-
P - 简单的代码生成程序 SDUT OJ 编译原理习题
P - 简单的代码生成程序Description通过三地址代码序列生成计算机的目标代码,在生成算法中,对寄存器的使用顺序为:寄存器中存有 > 空寄存器 > 内存中存有 > 以后不再使用 > 最远距离使用Input单组输入,给定输出的三地址代码的个数和寄存器的个数.所有的变量为大写字母,寄存器的数量不超过9Output参照示例格式输出,不需要将最后的寄存器中的值写回内存不再使用变量不用写回内存SampleInput4 2T:=A-BU:.原创 2020-12-09 11:13:51 · 513 阅读 · 0 评论 -
翻译布尔表达式 SDUT OJ 编译原理练习题 拉链回填
翻译布尔表达式Description大家都学过了布尔表达式的翻译,其中有一个拉链-回填技术,这次我们就练习这个技术。Input输入为一行字符串,例如: a < b or c < d and e < f每个符号都用空格间隔。其中逻辑运算符包含 and 和 or , 关系运算符包含 < 、> 、<= 、 >= 、== 、 != 。Output假链跳到0,真链跳到1,表达式序号从100开始排。SampleInputa &..原创 2020-11-13 11:12:34 · 3004 阅读 · 0 评论 -
表达式语法分析——预测分析法 SDUT 编译原理实验
表达式语法分析——预测分析法Description预测分析法是自顶向下分析的一种方法,一个预测分析程序是由三个部分组成:(1)预测分析程序(2)先进后出栈(3)预测分析表现给出表达式文法:E→TGG→+TG |εT→FSS→*FS |ε F→(E) | i该表达式文法是LL(1)文法,其预测分析表为:请根据该预测分析表构造预测分析程序,完成对表达式的语法分析,对给定的输入串,判断其是否为合法表达式,给出所使用的产生式序列。I...原创 2020-10-16 21:48:44 · 687 阅读 · 0 评论 -
表达式语法分析——递归子程序法 SDUT OJ 编译原理练习题
表达式语法分析——递归子程序法Description递归子程序法是一种确定的自顶向下语法分析方法,要求文法是LL(1)文法。它的实现思想是对应文法中每个非终结符编写一个递归过程,每个过程的功能是识别由该非终结符推出的串,当某非终结符的产生式有多个候选式时能够按LL(1)形式唯一地确定选择某个候选式进行推导。请根据下面的表达式LL(1)文法,构造递归子程序,完成对表达式的语法分析。表达式文法如下: E→TG G→+TG|ε T→FS S→*FS...原创 2020-10-10 21:41:02 · 654 阅读 · 0 评论 -
识别浮点常量问题 SDUT OJ3500 编译原理练习题
识别浮点常量问题Description编译器在对程序进行编译之前,首先要进行语法分析。通常,程序被分解成若干个小单元,然后和语言的语法模式进行匹配。在分析表达式的时候,变量的类型在变量声明的时候就决定了;而常量的类型需要从常量的形式来判断。假设你是自动编译器(ACM)开发小组的一员,负责Pascal语言编译器的开发。你的任务是分析程序分解模块送来的文件,判断其中包含的字符串是否合乎语法的Pascal浮点常量。Pascal语言对浮点常量的语法要求是:一个浮点常量除了十进制数码之外,必须带有一个小数原创 2020-09-19 20:47:21 · 471 阅读 · 2 评论 -
小C语言--词法分析程序 SDUT OJ 3500 编译原理练习题
A - 小C语言--词法分析程序Description小C语言文法1. <程序>→<main关键字>(){<声明序列><语句序列>}2. <声明序列>→<声明序列><声明语句>|<声明语句>|<空>3. <声明语句>→<标识符表>;4. <标识符表>→<标识符>,<标识符表>|<标识符>5. <语句序列&.原创 2020-09-18 22:39:21 · 537 阅读 · 0 评论