摘要: 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识别的是什么样的语言。 2.NFA 确定化为 DFA 1.解决多值映射:子集法 阅读全文
posted @ 2019-11-01 21:02 SeBr7 阅读(87) 评论(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 21:36 SeBr7 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1.分别写出描述以下语言的正规文法和正规式: L1={abna|n≥0}。 L2={ambn|n≥1,m ≥1} L3={(ab)n|n≥1} 2.将以下正规文法转换到正规式 Z→0AA→0A|0BB→1A|ε Z→U0|V1U→Z1|1V→Z0|0 S→aAA→bA|aB|bB→aA I→l|Il 阅读全文
posted @ 2019-10-18 20:52 SeBr7 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 词法分析程序(Lexical Analyzer)要求: - 从左至右扫描构成源程序的字符流 - 识别出有词法意义的单词(Lexemes) - 返回单词记录(单词类别,单词本身) - 滤掉空格 - 跳过注释 - 发现词法错误 程序结构: 输入:字符流(什么输入方式,什么数据结构保存) 处理: –遍历( 阅读全文
posted @ 2019-10-11 19:25 SeBr7 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1. 梳理第二章的内容,写一篇理解与总结。 第二章主要是讲了文法和语言,讲述了文法的概念,符号以及符号串,以及文法的类型以及语法树。学会了推导方式,最右推导和最左推导,最右推导是规范推导。文法具有二义性,就是一种文法,可以用两种以上的语法树来表示,则称这个文法有二义性。 2. 尝试写出PL/0 语言 阅读全文
posted @ 2019-09-27 12:40 SeBr7 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 1.已知文法: S->a|^|(T) T->T,S|S 分析句型(T,(^,a)),求全部的短语、直接短语和句柄。 2.构造上下文无关文法,描述语言: {anbn|n>=0} {ambn|m>=n>=0} {(ab)n|n>=0} {ambn|m,n>=1} (1)s->aSb | ab (2)s- 阅读全文
posted @ 2019-09-19 18:02 SeBr7 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 1.理解符号串与集合运算。 L={A,B, … ,Z,a,b, … ,z} D={0,1, … ,9} 说明下表示的含义: LUD: 全部数字和字母的集合 LD:由一个字母后跟一个数字组成的所有符号的集合 L4:由4个字母组成的集合 L*:由字母组成所有符号串的集合 D+:由一个或若干个数字组成的所 阅读全文
posted @ 2019-09-12 15:34 SeBr7 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1)简述编译程序与翻译程序、汇编程序的联系与区别。 编译程序是把高级语言源程序翻译成机器语言源程序的软件。C,c++,JAVA等高级语言,先编译后运行。 汇编程序也是语言翻译程序,把汇编语言源程序翻译成机器语言源程序。 区别 源语言是C,C++等高级语言,目标语言是机器语言或汇编语言等“低级语言”的 阅读全文
posted @ 2019-09-04 11:05 SeBr7 阅读(116) 评论(0) 推荐(0) 编辑