摘要: 1.设有 NFA M=( {0,1,2,3}, {a,b},f,0,{3} ),其中 f(0,a)={0,1} f(0,b)={0} f(1,b)={2} f(2,b)={3} 画出状态转换矩阵,状态转换图,并说明该NFA识别的是什么样的语言。 a b 0 0,1 0 1 - 2 2 - 3 3 - 阅读全文
posted @ 2019-11-01 19:35 hebinwen 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 1.正规式转换到正规文法 对任意正规式R选择一个非终结符Z生成规则Z→R 1.对形如A→ab的规则,转换成A→aB,B→b 2.将形如A→a|b的规则,转换成A→a,A→b(A→a|b) 3.将形如A→a*b的规则,转换成A→aA,A→b 将形如A→ba*的规则,转换成A→Aa,A→b 阅读全文
posted @ 2019-10-25 19:06 hebinwen 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 1.分别写出描述以下语言的正规文法和正规式: L1={abna|n≥0}。 L2={ambn|n≥1,m ≥1} L3={(ab)n|n≥1} 正规文法L1:S->aA A->bA | a L2:S->aS S->bS | ε L3:S->aA A->bS | b 正规式 : L1:ab*a L2: 阅读全文
posted @ 2019-10-18 20:01 hebinwen 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 此程序要逐个检查运行情况,并能当场补全代码。 词法分析程序(Lexical Analyzer)要求: - 从左至右扫描构成源程序的字符流 - 识别出有词法意义的单词(Lexemes) - 返回单词记录(单词类别,单词本身) - 滤掉空格 - 跳过注释 - 发现词法错误 程序结构: 输入:字符流(什么 阅读全文
posted @ 2019-10-11 21:32 hebinwen 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 1梳理第二章的内容,写一篇理解与总结。 编译程序——把一种语言程序(称为源语言程序)转换成另一种语言程序(目标语言程序),而后者与前者在逻辑上是等价的。 编译程序的工作过程一般可以划分为五个阶段:词法分析、语法分析、语义分析、中间代码的产生、优化、目标代码的生成。 1.词法分析 输入源程序,对构成源 阅读全文
posted @ 2019-09-27 17:05 hebinwen 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 1.已知文法: S->a|^|(T) T->T,S|S 分析句型(T,(^,a)),求全部的短语、直接短语和句柄。 2.构造上下文无关文法,描述语言: {anbn|n>=0} {ambn|m>=n>=0} if语句 S => aSb | ab | 0 S => aSb | a | ab | 0 if 阅读全文
posted @ 2019-09-19 13:57 hebinwen 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 1.理解符号串与集合运算。 L={A,B, … ,Z,a,b, … ,z} D={0,1, … ,9} 说明下表示的含义: LUD :全部字母和数字 LD :一个字母后跟一个数字组成的集合 L4 :4个字母组成的集合 L* :字母组成的集合 D+ :一个或若干个数字组成的集合 L(LUD)* :字母 阅读全文
posted @ 2019-09-12 17:58 hebinwen 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 1)简述编译程序与翻译程序、汇编程序的联系与区别 从功能上看,一个编译程序就是一个语言翻译程序,编译程序完成从源程序到目标程序的翻译工作,是一个复杂的整体过程 3)简述解释程序与编译程序的区别。 编译程序能够生成出目标程序,解释程序是不行的;编译程序是整体编译完了,然后在一次性的执行。 而解释程序是 阅读全文
posted @ 2019-09-04 11:10 hebinwen 阅读(130) 评论(0) 推荐(0) 编辑