摘要: 1.将以下文法消除左递归,求FIRST集、FOLLOW集,SELECT集,并分析符号串 i*i+i E -> E+T | T T -> T*F | F F -> (E) | i 消除左递归: E→TE' E'→+TE'|ε T→FT' T'→*FT'|ε F→(E)|i FIRST集: FIRST( 阅读全文
posted @ 2019-11-14 19:58 曾宇慧 阅读(166) 评论(0) 推荐(0)
摘要: .将DFA最小化:教材P65 第9题 答: 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 答: 3.自上而下语法分析,回溯产生的原因是什么? 答:文法的产生式有问题。 4.P100 练习4,反复提取公共左因子。 答: S->C$ C->bA|aB A->aD|b 阅读全文
posted @ 2019-11-07 20:25 曾宇慧 阅读(136) 评论(1) 推荐(0)
摘要: NFA 确定化为 DFA 子集法: f(q,a)={q1,q2,…,qn},状态集的子集 将{q1,q2,…,qn}看做一个状态A,去记录NFA读入输入符号之后可能达到的所有状态的集合。 步骤: 1.根据NFA构造DFA状态转换矩阵 ①确定DFA初态(NFA的所有初态集),字母表 ②从初态出发,经字 阅读全文
posted @ 2019-10-31 18:59 曾宇慧 阅读(93) 评论(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-24 18:47 曾宇慧 阅读(147) 评论(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-17 20:29 曾宇慧 阅读(105) 评论(0) 推荐(0)
摘要: 词法分析程序(Lexical Analyzer)要求: - 从左至右扫描构成源程序的字符流 - 识别出有词法意义的单词(Lexemes) - 返回单词记录(单词类别,单词本身) - 滤掉空格 - 跳过注释 - 发现词法错误 程序结构: 输入:字符流(什么输入方式,什么数据结构保存) 处理: –遍历( 阅读全文
posted @ 2019-10-11 19:09 曾宇慧 阅读(313) 评论(0) 推荐(0)
摘要: 1. 梳理第二章的内容,写一篇理解与总结。 理解: 第二章讲了文法和语言,文法是有规则的,按照给出的文法规则,编译出相应的语言。 文法描述的语言是该文法一切句子的集合。 文法有四种类型:0型语言,上下文有关语言,上下文无关语言和正规语言。 且文法也具有二义性,就是一种文法,可以用两种以上的语法树来表 阅读全文
posted @ 2019-09-26 19:55 曾宇慧 阅读(227) 评论(0) 推荐(0)
摘要: 1.已知文法: S->a|^|(T) T->T,S|S 分析句型(T,(^,a)),求全部的短语、直接短语和句柄。 推导:s=>(T)=>(T,S)=>(T,(T))=>(T,(T,S))=>(T,(T,a))=>(T,(S,a))=>(T,(^,a)) 短语:T,^,a,(^,a),(T),(T, 阅读全文
posted @ 2019-09-19 18:48 曾宇慧 阅读(142) 评论(0) 推荐(0)
摘要: (1)简述编译程序与翻译程序、汇编程序的联系与区别 编译程序是由编译器将高级语言(例如c++,c等)转变成汇编语言。 汇编程序是由汇编器将汇编语言转变成目标语言(也就是机器语言)。 而翻译程序是将一种高级语言(例如c++)由翻译器转变成另一种高级语言(例如c语言)。 (2)编译过程包括哪几个主要阶段 阅读全文
posted @ 2019-09-03 10:59 曾宇慧 阅读(308) 评论(2) 推荐(0)