摘要: 一、实验目的: 利用C语言编制递归下降分析程序,并对简单语言进行语法分析。 编制一个递归下降分析程序,实现对词法分析程序所提供的单词序列的语法检查和结构分析。 二、实验原理 每个非终结符都对应一个子程序。 该子程序根据下一个输入符号(SELECT集)来确定按照哪一个产生式进行处理,再根据该产生式的右 阅读全文
posted @ 2019-11-27 15:39 酒大暗 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 1. 文法 G(S): (1)S -> AB (2)A ->Da|ε (3)B -> cC (4)C -> aADC |ε (5)D -> b|ε 验证文法 G(S)是不是 LL(1)文法? SELECT(A→Da)=FIRST(Da)={b,a} SELECT(A→ε)=FIRST(ε)-ε+FO 阅读全文
posted @ 2019-11-20 17:43 酒大暗 阅读(777) 评论(0) 推荐(0) 编辑
摘要: 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-12 11:42 酒大暗 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 1.将DFA最小化:教材P65 第9题 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 文法转化成正规式: S=0A+1B =0(1S+1)+1(0S+0) =(01S+01)+(10S+10) =(01+10)S+(01+10) =(01+10)*(01+10) 阅读全文
posted @ 2019-11-07 19:17 酒大暗 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 练习: 1.解决多值映射:子集法 1) 2). P64页练习3 2.解决空弧:对初态和所有新状态求ε-闭包 1) 2).P50图3.6 阅读全文
posted @ 2019-10-31 20:40 酒大暗 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 正规式到正规文法 对任意正规式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-22 11:42 酒大暗 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1.分别写出描述以下语言的正规文法和正规式: L1={abna|n≥0}。 正规文法: S→aA,A→bna A→Ba,B→bn B→bB|ε 正规式: S=aA A=Ba B=b* S=ab*a L2={ambn|n≥1,m ≥1} 正规文法: S→aP,P→bn P→Bb,B→bn B→bB|b 阅读全文
posted @ 2019-10-16 23:48 酒大暗 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 词法分析程序(Lexical Analyzer)要求: - 从左至右扫描构成源程序的字符流 - 识别出有词法意义的单词(Lexemes) - 返回单词记录(单词类别,单词本身) - 滤掉空格 - 跳过注释 - 发现词法错误 程序结构: 输入:字符流(创建测试数据a.txt,利用函数freopen() 阅读全文
posted @ 2019-10-11 18:48 酒大暗 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 1. 梳理第二章的内容,写一篇理解与总结。 一、定义 语言是一个记号系统,包括语法和语义;文法最主要的成分是规则(产生式),我们可以通过规则进行推导生成语法树。 二、文法G四元组(VN,VT,P,S) VN为非终结符集 VT为终结符集 P为规则(α→β)的集合 S为识别符或开始符,至少要在一条规则中 阅读全文
posted @ 2019-09-25 23:53 酒大暗 阅读(255) 评论(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-18 00:04 酒大暗 阅读(317) 评论(0) 推荐(0) 编辑