摘要: 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)*abb 2.NFA 确定化为 DF 阅读全文
posted @ 2019-10-31 21:00 诚哥博客 阅读(2372) 评论(2) 推荐(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 4.将形如A→ba*的规则,转换成A→Aa,A→b 不断利用 阅读全文
posted @ 2019-10-25 15:21 诚哥博客 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 1.分别写出描述以下语言的正规文法和正规式: (1)L1={abna|n≥0}。 正规文法为: A -> aB B -> Ca C ->bC | ε 正规式为: ab*a (2)L2={ambn|n≥1,m ≥1} 正规文法为: A -> aA | aB | a | ε B -> Bb | b | 阅读全文
posted @ 2019-10-17 19:58 诚哥博客 阅读(1743) 评论(0) 推荐(0) 编辑
摘要: 一、程序要求(以python为例)。 1.词法分析程序(Lexical Analyzer)要求: - 从左至右扫描构成源程序的字符流 - 识别出有词法意义的单词(Lexemes) - 返回单词记录(单词类别,单词本身) - 滤掉空格 - 跳过注释 - 发现词法错误 2.程序结构: 输入:字符流(什么 阅读全文
posted @ 2019-10-09 11:29 诚哥博客 阅读(1168) 评论(0) 推荐(0) 编辑
摘要: 前言 一个程序设计语言是一个记号系统,如同自然语言一样,它的完整定义应包括语法和语义两个方面。所谓一个语言的语法是指一组规则,用它可以形成和产生一个合适的程序。目前广泛使用的手段是上下文无关文法,即用上下文无关文法作为程序设计语言语法的描述工具。语法只是定义什么样的符号序列是合法的,与这此符导的含义 阅读全文
posted @ 2019-09-25 11:28 诚哥博客 阅读(2110) 评论(0) 推荐(1) 编辑
摘要: 短语书上的定义如下: 书上写的比较抽象,我这里简单解释一下,有两个文法,分别是: 我们由此可以画出他的抽象语法树,如下: 那么,abp为此句型的短语 总结来说:一个句型的语法树中任一子树叶结点所组成的符号串都是该句型的短语,由这概念,那么我们自然可以想到,b也应该是该句型的一个短语。 直接短语书中的 阅读全文
posted @ 2019-09-18 11:36 诚哥博客 阅读(6131) 评论(0) 推荐(0) 编辑
摘要: 简介 一个程序设计语言是一个记号系统,如同自然语言一样,它的完整定义应包括语法和语义两个方面。所谓一个语言的语法是指一组规则,用它可以形成和产生一个合适的程序。目前广泛使用的手段是上下文无关文法,即用上下文无关文法作为程序设计语言语法的描述工具。语法只是定义什么样的符号序列是合法的,与这些符号的含义 阅读全文
posted @ 2019-09-12 02:25 诚哥博客 阅读(1826) 评论(1) 推荐(0) 编辑
摘要: 一、前言 大家都知道编写一个微信小程序是非常漫长的,但是由于现阶段微信小程序存在反编译的可能,于是我去github上找到一个反编译工具(跳转)这个工具其实很早就出来了,但是这个工具需要提取微信小程序的wxapkg文件,就是微信小程序编译后的文件。最近发现电脑版微信可以打开微信小程序了,于是我去找了微 阅读全文
posted @ 2019-09-07 20:10 诚哥博客 阅读(15089) 评论(34) 推荐(12) 编辑
摘要: 1)简述编译程序与翻译程序、汇编程序的联系与区别。 翻译程序指把高级语言源程序翻译成机器语言源程序(目标代码)的软件。翻译程序有两种:一种是编译程序,它将高级语言源程序一次性全部翻译成目标程序,每次执行程序时,只要执行目标程序。另一种是解释程序,它的执行过程是翻译一句执行一句,并且不会生成目标程序。 阅读全文
posted @ 2019-09-04 10:14 诚哥博客 阅读(5011) 评论(4) 推荐(0) 编辑