<字母>:S→AA→a|b|c|……y|z <数字> :S→A|SA|SA0A→1|2|3|4|5|6|7|8|9 <整数常数>:S→A|SA|SA0A→1|2|3|4|5|6|7|8|9 <标识符>:S→A|SBA→a|b|c|……y|zB→0|1|2|3|4|5|6|7|8|9 <关键字>:S→ ...
分类:
其他好文 时间:
2016-09-30 18:31:19
阅读次数:
95
用文法描述词法规则。 这个概念我不是太懂,但是也说说自己的理解和想法。 首先是文法形式的定义:A-〉B ,A代表的是左部符号,‘-〉’意思是为生成,而B代表的是右部的符号串。 有着终结符号:如0,1:1.组成语言的终止符。2.基本有小写字母组成。 文法(Vn,Vt,P,S) 就比如说:A->a|b| ...
分类:
其他好文 时间:
2016-09-30 18:09:01
阅读次数:
145
在计算机科学中,文法是编译原理的基础,是描述一门程序设计语言和实现其编译器的方法。文法的描述多用BNF(巴克斯范式),而另一个重要的概念:正则表达式,也是文法的另一种形式。 文法其实是以有穷的集合刻画无穷的集合的一个工具。 程序设计语言中的几类单词可用下述规则描述: 〈标识符〉→l|l〈字母数字〉 ...
分类:
其他好文 时间:
2016-09-30 18:08:39
阅读次数:
156
就比如说:A->a|b|e|Aa|Ae|Ao|A Vn = {A}, Vt ={a,b,c,d,e,0,1} P={A->a|b|e|Aa|Ae|Ao|A} S = A . 其实A-〉Aa 就代表着循环的意思,每进行一次,就会增加一个a,假如A-〉Aaa,意思就是每循环一次,就增加aa,所以暂时也就 ...
分类:
其他好文 时间:
2016-09-30 17:56:25
阅读次数:
122
词法分析程序的功能: 对用户输入的字符串从左到右进行扫描和分解,根据词法规则识别出一个一个具有独立意义的单词符号,并产生相应单词的种别码;若是发现词法错误,则返回出错信息。 符号与种别码对照表: 用文法描述词法规则: 代码如下: ...
分类:
其他好文 时间:
2016-09-30 17:48:14
阅读次数:
120
词法分析程序的功能:将用户输入的程序段进行分析,逐个字符进行读取,根据关键字、数字、标识符等的文法规则,将它们拼在一起组成一个有意义的单词,并输出自身值及其种别码。 单词符号 种别码 单词符号 种别码begin 1 : 17if 2 := 18then 3 < 20while 4 <= 21do 5 ...
分类:
其他好文 时间:
2016-09-30 17:47:41
阅读次数:
131
用途 解释器模式 (Interpreter) 定义一个语言,定义它的文法的一种表示。并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 解释器模式是一种行为型模式。 用途 定义一个语言,定义它的文法的一种表示。并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 解释器模式是一种行为型 ...
分类:
其他好文 时间:
2016-09-20 18:07:40
阅读次数:
175
3型文法也叫正规文法,它对应于有限状态自动机。它是在2型文法的基础上满足:A→α|αB(右线性)或A→α|Bα(左线性)。 上面的话是大多数教材中的解释,十分了抽象,其中最不理解的是下面一句话 它是在2型文法的基础上满足:A→α|αB(右线性)或A→α|Bα(左线性)。 分析这句话,什么是左线性,什 ...
分类:
其他好文 时间:
2016-09-17 21:57:21
阅读次数:
271
我自己的实现方法的核心过程:首先用一个非终结符代表所有要检查的程序代码,然后根据文法将这个整体的符号不断展开,以拼凑成按检查的程序的顺序排列的终结符序列,能成功说明语法正确,否则有错误。 关键词:分词;First集;Select集; 目前还存在的问题: 1.因为同一个非终结符->终结符的转化可能有多 ...
分类:
编程语言 时间:
2016-09-12 18:59:46
阅读次数:
666