论文部分内容阅读
论文将Petri网应用到编译技术中,研究了如何利用Petri网进行词法分析和语法分析.论文主要解决了五个问题:研究Petri网语言与经典文法体系的关系,证明了Petri网语言的表达能力强于正规文法;提出为正规文法建模的方法,并设计了基于这种模型的词法扫描器;利用Petri网为LR文法的语法分析过程建模,并设计这种模型下的语法分析器;系统的提出Petri网建模分析工具的一般方法;分析并设计了利用Petri网进行词法分析和语法分析的软件开发步骤,并开发出四套软件,为Petri网在编译技术中的应用创造了软件环境.为了研究Petri网语言的表达能力,引入了矢量文法体系,系统地研究了矢量文法的性质和分类等.证明了Petri网语言表达能力的三个重要关系.这三个关系分别是:Petri网语言是上下文有关文法的一个真子集;Petri网语言与上下文无关文法相交但互不包含;Petri网语言的表达能力真超于正规语言.这三个关系是文法的Petri网建模的基础理论,同时准确地定位了Petri网语言的表达能力.论文设计了四套软件,一是为了验证两个模型的分析能力,一是作为毕业论文的最后一部分,初步设计一个编译器.这四个软件分别是:Petri网建模和绘画工具(PETRI_PAIN)、右线性文法的Petri网建模工具(PNRG_MOLD)、基于特定右线性文法的词法扫描器(ACCIEN_PETRI)、基于特定LR文法的语法分析器(LR_GRAMMAR_PETRI).PETRI_PAIN体现了论文提出的先设计开放性的规则自动生成图形再手动调整的理论,是一套较为成功的Petri网绘画工具,但是没有附带Petri网的分析功能;PNRG MOLD是一个专为右线性文法建模的工具,它的基本操作同PETRI_PAIN相差不大,软件在用户确定输入完毕之后,首先检测文法是否合法,然后初步建立Petri网,再分三步演示消除冲突和化简之后的Petri网图形.这四步过程分别称为:原始处理、符号化、合并变迁、简化;ACCIEN PETRI是建立在软件PNRG MOLD建模基础上的词法扫描器,软件提供了一个类于编辑器的输入环境,输出分析出的单词;LR_GRAMMAR_PETRI采用的文法是简单的算式文法(即加减乘除与括弧),软件的输入是一句计算语句,输出语法树.