python编写的带图形界面LL(1)文法,直接运行.py文件即可,含测试用例
2022-04-09 09:45:02 8KB 编译原理 LL(1)文法
1
本程序主要由两大部分组成,分析部分和求值部分。即对表达式进行语法分析,在语法分析成功的情况下,再对表达式求值,语法分析出错时给出相应的错误信息。
2022-03-31 02:17:44 1.31MB 编译原理 LL(1)文法 预测分析法
1
c实现的LL1文法的判定,按书上的步骤一步步实现的,文法支持手动输入。
2022-03-31 02:09:30 271KB LL1
1
3.3 假设有文法 exp → exp addop term | t e r m addop → + | - term → term mulop factor | f a c t o r mulop → * factor → ( e x p ) | n u m b e r 则为下面的表达式写出最左推导、分析树以及抽象语法树: a. 3+4*5-6 b. 3*(4-5+6) c. 3-(4+5*6) 3.4 下面的文法生成字母表之上的所有正则表达式(以前曾在算符前后加上了引号,这是 因为竖线既是一个算符又是一个元字符): rexp → rexp "|" re x p | rexp re x p | rexp "*" | "(" rexp ")" | l e t t e r a. 利用这个文法为正则表达式( a b | b ) *给出一个推导。 b. 说明该文法有二义性。 c. 重写该文法以使算符建立正确的优先关系(参见第 2章)。 d. (c)的答案给二进制算符带来怎样的结合性?为什么? 3.5 为包括了常量t r u e和f a l s e、算符a n d、o r和n o t,以及括号的布尔表达式编写一 个文法。确保给予o r比a n d低的优先权,而a n d的优先权比n o t低,并允许n o t重复使 用,如在布尔表达式中的not not true。另外还需保证该文法没有二义性。 3.6 考虑以下表示简化的类L I S P表达式的文法: lexp → atom | l i s t atom → n u m b e r | i d e n t i f i e r list → ( lexp-seq ) lexp-seq → lexp-seq lexp | l e x p a. 为串(a 23 (m x y))分别写出一个最左推导和一个最右推导。 第 3章 上下文无关文法及分析 1 0 1 下载
2022-03-29 15:15:09 11.13MB 编译原理 龙书 目录
1
输入一组任意的文法规则和任意符号串,输出相应的乔姆斯基文法类型和推导
2022-03-26 19:24:49 5KB 网络原理实验 文法类型推导
1
代码完全可以执行,还有结果截图显示,界面背景图片是可以另外加入一个哦
2022-03-20 20:05:34 380KB Java 编译原理
1
Chomsky文法类型判断及文法化简 Chomsky文法类型判断及文法化简
2022-03-20 19:50:02 6.96MB Chomsky文法类型判断及文法化简
1
本程序的基本数据结构是一个字符型的二维数组。 先将文本文件一行一行的读入二维字符数组中,每一行只有一个产生式; 然后将二维数组中的每一行进行判断处理,先通过扫描找到每一行的推导符号“->”; 对“->”前面以及后面的字符分开进行处理,分别对其进行终结字符与非终结字符数量的统计; 比较产生式左部与右部所有的终结字符与非终结字符的数量,分别对不同的情况进行判断,将判断的结果保存在一个一位数组中(所有情况都不符合用-1标记); 对一维数组按从小到大的顺序进行冒泡排序,所以一位数组的第一个元素的大小即为此文法的类型,进行输出(-1则为不符合所有文法类型)。 输入文件格式样例: S->aA A->aB A->dB A-># B->aB B->dB B->#
2022-03-18 11:04:45 191KB 编译原理 Chomsky文法
1
Chomsky文法类型的判断
2022-03-18 11:02:37 6KB Chomsky文法类型的判断
1
根据表5.5规范,实现5.13所示文法生成语句的LR分析过程
2022-02-10 21:03:13 288KB 编译原理
1