摘要: 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 20:23 诚诚诚诚诚诚诚 阅读(388) 评论(0) 推荐(0)
摘要: 1.将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|bAA B->bE|a 阅读全文
posted @ 2019-11-07 20:50 诚诚诚诚诚诚诚 阅读(157) 评论(0) 推荐(0)
摘要: NFA 确定化为 DFA 子集法: f(q,a)={q1,q2,…,qn},状态集的子集 将{q1,q2,…,qn}看做一个状态A,去记录NFA读入输入符号之后可能达到的所有状态的集合。 步骤: 1.根据NFA构造DFA状态转换矩阵 ①确定DFA初态(NFA的所有初态集),字母表 ②从初态出发,经字 阅读全文
posted @ 2019-10-31 20:16 诚诚诚诚诚诚诚 阅读(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-24 19:53 诚诚诚诚诚诚诚 阅读(123) 评论(0) 推荐(0)
摘要: 1.分别写出描述以下语言的正规文法和正规式: L1={abna|n≥0}。 L2={ambn|n≥1,m ≥1} L3={(ab)n|n≥1} (1)L1={abna|n≥0} S->aA A->Ba B->bn B->bB|ε S=ab*a (2) L2={ambn|n≥1,m ≥1} S->AB 阅读全文
posted @ 2019-10-17 21:13 诚诚诚诚诚诚诚 阅读(551) 评论(0) 推荐(0)
摘要: 词法分析程序(Lexical Analyzer)要求: - 从左至右扫描构成源程序的字符流 - 识别出有词法意义的单词(Lexemes) - 返回单词记录(单词类别,单词本身) - 滤掉空格 - 跳过注释 - 发现词法错误 程序结构: 输入:字符流(什么输入方式,什么数据结构保存) 处理: –遍历( 阅读全文
posted @ 2019-10-11 21:33 诚诚诚诚诚诚诚 阅读(154) 评论(0) 推荐(0)
摘要: 1.文法的基本概念正如英语是由句子组成的集合,而句子又是由单词和标点符号组成的序列那样。程序设计语言 C 语言,是由 C 程序所组成的集合,而程序是由类似 if , begin, end 的符号,字母和数字这样一些基本符号所组成。 从字面上看,每个程序都是一个“基本符号”串,设有一基本符号串,那么 阅读全文
posted @ 2019-09-27 12:04 诚诚诚诚诚诚诚 阅读(393) 评论(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)) 2.构造上下文无关文法,描 阅读全文
posted @ 2019-09-19 14:13 诚诚诚诚诚诚诚 阅读(136) 评论(0) 推荐(0)
摘要: 一、简述编译程序与翻译程序、汇编程序的联系与区别。 编译程序是先完整编译后运行的程序,如C、C++等。 解释程序是一句一句翻译且边翻译边执行的程序,如JavaScript、Python等。 编译程序与汇编程序的区别:如果源语言是诸如C、C++、Java等“高级语言”,而目标语言是诸如汇编语言或机器语 阅读全文
posted @ 2019-09-03 11:26 诚诚诚诚诚诚诚 阅读(398) 评论(0) 推荐(0)