编译原理
文章平均质量分 92
编译原理
小太阳i
这个作者很懒,什么都没留下…
展开
-
LR(1)文法
LR(1)文法Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description已知文法G[S]的表达式求文法的LR(1)的项目集和Go函数.要求使用广度优先搜索,同时按照字典序进行转换,以保证项目集的序号正确.Input单组输入,当输入一个@时输入结束.注意: 在输入中以@代表空.规定:文法S的拓广文法为$->SOu...原创 2019-11-20 21:11:52 · 2442 阅读 · 0 评论 -
LL(1)文法系列(二)预测分析表
LL(1)文法系列(二)预测分析表Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description已知文法G[S]的表达式,计算文法的预测分析表。在文法G[S]中使用’@’代表空。现在我们规定文法G[S]中每个表达式只包含一个语句,也就是说不会含有S->A|B这样的表达式。Input第一行输入一个n(n<10),表...原创 2019-11-20 21:09:58 · 860 阅读 · 0 评论 -
LL(1)文法系列(三)预测分析程序
LL(1)文法系列(三)预测分析程序Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description已知文法G[S]的表达式,通过预测分析表,对输入串进行分析。在文法G[S]中使用’@’代表空。现在我们规定文法G[S]中每个表达式只包含一个语句,也就是说不会含有S -> A|B这样的表达式。Input第一行输入一个n(n...原创 2019-11-20 20:03:14 · 514 阅读 · 0 评论 -
LL(1)文法系列(一)first集和follow集
LL(1)文法系列(一)first集和follow集Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description已知文法G[S]的表达式,计算文法中终结符的first集和follow集。在文法G[S]中使用’@’代表空。现在我们规定文法G[S]中每个表达式只包含一个语句,也就是说不会含有S->A|B这样的表达式。Inp...原创 2019-11-20 20:00:54 · 579 阅读 · 0 评论 -
算符优先系列之(二)算符优先关系表
算符优先系列之(二)算符优先关系表Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description学过编译原理的菊苣们都知道算符优先文法,作为一个有点深度的分析方法,我们怎么能只止步于理论呢,实践才是王道哦。已知文法G[S]的表达式,求算符优先关系表。因为某些特殊的原因,我们在这规定一下输入输出格式。已知文法G[S]为:S`-...原创 2019-11-20 19:58:09 · 1712 阅读 · 0 评论 -
算符优先系列之(一)Firstvt和Lastvt集
算符优先系列之(一)Firstvt和Lastvt集Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description学过编译原理的菊苣们都知道算符优先文法,作为一个有点深度的分析方法,我们怎么能只止步于理论呢,实践才是王道哦。已知文法G[S]的表达式,计算G[S]的Firstvt和Lastvt。因为某些特殊的原因,我们在这规定一下输...原创 2019-11-20 19:56:41 · 1450 阅读 · 0 评论 -
算符优先分析
算符优先分析Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description算法优先分析法是一种不太规范的自下而上分析方法,分析速度快,特别适用于表达式的分析。为了便于大家理解和实践算符优先分析法,本题目先给出一个算符优先文法,请大家构造该文法的算符优先关系表。然后请对给定的输入串进行算符优先分析,判断其是否为该文法的一个句子。例...原创 2019-11-20 19:54:41 · 4006 阅读 · 0 评论 -
数据结构实验之排序七:选课名单
数据结构实验之排序七:选课名单Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description随着学校规模的扩大,学生人数急剧增加,选课名单的输出也成为一个繁重的任务,我校目前有在校生3万多名,两千多门课程,请根据给定的学生选课清单输出每门课的选课学生名单。Input输入第一行给出两个正整数N( N ≤ 35000)和M(M ≤...原创 2019-08-17 21:06:02 · 227 阅读 · 0 评论 -
数据结构实验之排序六:希尔排序
数据结构实验之排序六:希尔排序Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description我们已经学习了各种排序方法,知道在不同的情况下要选择不同的排序算法,以期达到最好的排序效率;对于待排序数据来说,若数据基本有序且记录较少时, 直接插入排序的效率是非常好的,希尔排序就是针对一组基本有序的少量数据记录进行排序的高效算法。你的任...原创 2019-08-16 21:22:17 · 161 阅读 · 0 评论 -
数据结构实验之排序五:归并求逆序数
数据结构实验之排序五:归并求逆序数Time Limit: 100 ms Memory Limit: 65536 KiBProblem Description对于数列a1,a2,a3…中的任意两个数ai,aj (i < j),如果ai > aj,那么我们就说这两个数构成了一个逆序对;在一个数列中逆序对的总数称之为逆序数,如数列 1 6 3 7 2 4 9中,(6,4)是一个逆序对,...原创 2019-08-16 20:06:56 · 205 阅读 · 0 评论 -
数据结构实验之排序四:寻找大富翁
数据结构实验之排序四:寻找大富翁Time Limit: 200 ms Memory Limit: 512 KiBProblem Description2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁。Input首先输入两个正整数N( N ≤ 10^6)和M(M ≤ 10),其中N为总人数,M为需要...原创 2019-08-15 21:01:37 · 217 阅读 · 0 评论 -
数据结构实验之排序三:bucket sort(桶排序)
数据结构实验之排序三:bucket sortTime Limit: 250 ms Memory Limit: 65536 KiBProblem Description根据人口普查结果,知道目前淄博市大约500万人口,你的任务是帮助人口普查办公室按年龄递增的顺序输出每个年龄有多少人,其中不满1周岁的按0岁计算,1到2周岁的按1岁计算,依次类推,大于等于100岁的老人全部按100岁计算。Inp...原创 2019-08-15 15:18:31 · 266 阅读 · 0 评论 -
数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description冒泡排序和快速排序都是基于"交换"进行的排序方法,你的任务是对题目给定的N个(长整型范围内的)整数从小到大排序,输出用冒泡和快排对这N个数排序分别需要进行的数据交换次数。Input连续多组输入数据,每组数据第一行给出正整数N(N ≤ 1...原创 2019-08-15 14:33:31 · 119 阅读 · 0 评论 -
数据结构实验之排序一:一趟快排
数据结构实验之排序一:一趟快排Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。Input连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后给出N个长整型范围内的整数,数字间以空格分隔。 O...原创 2019-08-14 23:49:17 · 154 阅读 · 0 评论 -
数据结构实验之链表九:双向链表
数据结构实验之链表九:双向链表Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。但单链表有一个弱点——不能回指。比如在链表中有两个节点A,B,他们的关系是B是A的后继,A指向了B,便能轻易经A找到B,但...原创 2019-07-28 15:28:51 · 217 阅读 · 0 评论 -
数据结构实验之链表七:单链表中重复元素的删除
数据结构实验之链表七:单链表中重复元素的删除Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。Input第一行输入元素个数 n (1 <= n <= 15);第二行输入 n 个整数,保证在 ...原创 2019-07-28 10:27:02 · 227 阅读 · 0 评论 -
数据结构实验之链表五:单链表的拆分
数据结构实验之链表五:单链表的拆分Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。Input第一行输入整数N;;第二行依次输入N个整数。Output...原创 2019-07-27 21:20:03 · 103 阅读 · 0 评论 -
数据结构实验之链表三:链表的逆置
数据结构实验之链表三:链表的逆置Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。Input输入多个整数,以-1作为结束标志。Output输出逆置后的单链表数据。Sample Input1...原创 2019-07-27 20:51:09 · 506 阅读 · 0 评论 -
数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。Input第一行输入M与N的值;第二行依次输入M个有序的整数;第三行依次输入...原创 2019-08-14 22:20:59 · 161 阅读 · 0 评论 -
某计算机字长32位,其存储容量为256MB,若按单字编址,它的寻址范围是
按字编址的寻址范围是:064M。也即00000003FFFFFFH计算步骤:256M字节*=256102410248位,按计算机按32位字长单字编址。则单字的位数为32位,范围为(256102410248位)/32位=64M此外若计算机按32位字长半字编址。则半字的位数为16位,范围为(256102410248位)/16位=128M计算机按32位字长双字编址。则双字的位数为64位,范围为...原创 2019-04-08 20:12:25 · 24408 阅读 · 0 评论 -
M-翻译布尔表达式---部分函数学习
大佬直接忽略哈C++ 中vector的使用方法C++中getline()、gets()等函数的用法C_str用法stringstream介绍1stringstream介绍2vector就是类似于一个数组的容器,内容比数组更加全面。很多操作都有自己的函数可以直接拿过来进行使用。主要函数就是:v.push_back(k); 尾插元素;v.insert(it,k); 在任意位置插入元素...原创 2019-11-27 13:31:56 · 804 阅读 · 0 评论 -
2017计科01-08编译原理练习题一运行时空间组织管理&优化&目标代码生成--附带老师讲解过程
下列优化技术是基本块内的优化为( )代码外提,删除归纳变量 删除多余运算,删除无用赋值强度削弱,代码外提循环展开,循环合并优化可生成( )的目标代码。运行时间较短占用存储空间较小运行时间短但占用内存空间大运行时间短且占用存储空间小下列( )优化方法不是针对循优化进行的。强度削弱删除归纳变量删除多余运算代码外提注:没有截取的选项都是错误的...原创 2019-11-19 18:40:14 · 2954 阅读 · 2 评论 -
2017计科01-08编译原理练习题一语义分析&中间代码生成(chap07-08)
上次由于自身错误坑了不少人,先说声抱歉哈,以后一定避免这样的事情发生。中间代码生成所依据的是( )。语义规则四元式之间的联系是通过( )实现的。临时变量终结符具有( )属性。综合以下说法正确的是( )。语义规则中的属性有两种:综合属性与继承属性...原创 2019-11-12 20:28:21 · 3588 阅读 · 1 评论 -
编译原理练习题
2017计科01-08编译原理练习题一自底而上LR语法分析(chap06)若A和B是非终结符,则A->a.aBb为( )项目移进若A和B是非终结符,则A->aa.Bb为( )项目待约若A和B是非终结符,则A->aaBb.为( )项目规约LR分析法从左到右扫描输入串,采用移进-归约的方式,当栈顶出现( )时进行归约。句柄一个句型中称为句柄的是该句型的最左( ...原创 2019-10-30 19:01:14 · 5599 阅读 · 1 评论 -
2017计科01-08编译原理练习题一-自顶向下语法分析(chap04)
采用自顶向下分析,文法必须( )。消除回溯编译过程中,语法分析器的任务是( )。 ①分析单词是怎样构成的 ②分析单词串是如何构成语句和说明的 ③分析语句和说明是如何构成程序的 ④分析程序的结构②③④常用的语法分析方法分为( )和自底而上分析方法两大类。自顶向下语法分析语法分析程序的输出是( )。语法分析树语法分析程序的输入是 ( ) 。单词高级语言编译程序常用的语法分析方法中...原创 2019-10-30 08:39:20 · 4796 阅读 · 1 评论 -
自顶向下语法分析的作业
帮助大家复习用,顺便把题目扩展下,所有的编译原理的考试题目都会整理。递归子程序法属于_____语法分析方法[我的答案] 自顶向下采用确定的自顶向下分析时,必须[我的答案] 消除左递归在 LR 分析法中,分析栈中存放的状态是识别规范句型_____的 DFA 状态[我的答案] C . 活前缀LR 法是自顶向下语法分析方法。 ( )[我的答案] 正确若一个句型中出现了某产生式的右部,则...原创 2019-10-26 15:31:15 · 5922 阅读 · 0 评论 -
表达式语法分析——预测分析法
表达式语法分析——预测分析法Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description预测分析法是自顶向下分析的一种方法,一个预测分析程序是由三个部分组成:(1) 预测分析程序(2) 先进后出栈(3) 预测分析表现给出表达式文法:E→TGG→+TG | εT→FSS→*FS | εF→(E) | i...原创 2019-10-03 18:22:23 · 592 阅读 · 0 评论 -
小型Basic编译器问题
小型Basic编译器问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description编写一个TinyBasic语言的解释程序,对于任何一个给出的正确的TinyBasic语言的程序,你的程序能运行它并得到正确的结果。那么,怎样的TinyBasic的程序叫做正确的呢?(1)符合TinyBasic语言的语法规则;(2)程序执行时会...原创 2019-09-28 13:41:58 · 198 阅读 · 0 评论 -
编译原理模拟测试2--chap03
2017计科01-08编译原理模拟测试2–chap03单选题20已知一有限自动机如图所示,有一状态集I={X,1,2},则Ia=( ) 。 (3分){1,2,3}答案正确(3 分)2-2( ) 不是DFA的成分。 (3分)非空有限状态集合初始状态集合答案正确(3 分)2-3( )这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。 (3分)不存在2-...原创 2019-09-21 10:21:10 · 6290 阅读 · 0 评论 -
识别浮点常量问题
识别浮点常量问题Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description编译器在对程序进行编译之前,首先要进行语法分析。通常,程序被分解成若干个小单元,然后和语言的语法模式进行匹配。在分析表达式的时候,变量的类型在变量声明的时候就决定了;而常量的类型需要从常量的形式来判断。假设你是自动编译器(ACM)开发小组的一员,负责P...原创 2019-09-12 19:42:17 · 523 阅读 · 0 评论