LALR(1)语法分析器自动生成系统的设计与实现

被引量 : 5次 | 上传用户:wangguoqiang123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
编译原理和技术是计算机科学中最为重要的理论技术之一。构造编译器涉及到形式化方法、自动机理论、语法分析方法等理论方法。这些理论和技术广泛应用于计算机技术的各个领域,例如各种程序设计语言的编译器、办公自动化软件、数据库管理系统和领域专用语言的编译器等。因此对编译技术的研究不仅有学术价值,更具有非常高的工程应用价值。作为编译技术中最复杂的技术之一,语法分析技术目前主要分为两种:分别是自顶向下分析技术和自底向上分析技术。其中自底向上分析技术中的LALR(1)(lookahead-LR(1))分析法由于具有对语法限制少、分析速度快、发现错误准确等优点被广泛应用。然而实现一个基于LALR(1)分析法的语法分析器并不容易,原因在于其语法分析表的规模十分庞大,难以通过手工方式构造。因此需要一个能够自动生成LALR(1)语法分析器的系统,利用它用户只需要输入目标语言的语法规则,就能够生成目标语法分析器的源代码。本文立足对LALR(1)语法分析器自动生成技术的探索,使用C#作为开发语言,以Visual Studio2008为软件开发平台,编程实现了一款LALR(1)语法分析器自动生成系统LRGS(LALR(1) Generator System),并设计了LRGS支持的程序设计语言LRGL(LALR(1) Generation Language)。LRGS提供了可视化的集成开发环境,用户通过新建工程,编写LRGL源程序,编译源程序,这几个步骤来获取目标语言的语法分析器的C++源代码。当用户编写的源程序出错时,可以在LRGS的界面中查看错误原因。用户还可以在界面中查看生成的语法分析表和LALR(1)项目集规范族,从而方便对语法分析器进行调试。总之,将LRGS应用于编译器的开发过程中,能极大地降低开发难度,提高开发效率和产品质量。
其他文献
现有的理论与实证研究表明,我国依靠政府主导和扶持的组织规模大型化在实施过程中遇到了一定程度的障碍。本文通过对产业集群理论中的产业组织思想内涵的考察和社会制度文化
宫颈癌是世界范围内女性最常见的第三大肿瘤,严重威胁着全球女性健康,而局部晚期宫颈癌因具有预后不良因素,预后差,手术难度较大,术后容易复发和转移,是当今宫颈癌治疗中的一大难题
在随机动态一般均衡方法下,引入财政政策、货币政策作为外生随机冲击变量,构建中国多区域经济周期模型,利用改革后的经济数据进行实证检验,分析不同区域经济周期中财政政策、
目的:冠心病是一种以冠状动脉的粥样硬化为主要病变的慢性炎症介导的自身免疫性疾病。在冠状动脉内粥样斑块的形成和稳定型斑块向易损斑块的转变以及易损斑块破裂的整个过程中
密尔是十九世纪英语世界最著名的自由主义者,他融合西方传统,博采众家所长,建立了独具特色的功利自由主义,引发了后世学者的长期争论。本文试图探讨密尔自由主义的独特之处。密尔
人们对生活质量的日益重视促使着国内建筑行业不断地完善内部的基本情况,比如在方案的设计、设计理念等方面。而建筑行业的发展又与土木工程结构的设计有很大的联系,土木工程
政府公信力即政府依据自身信用所获得的社会公众的信任度,是政府机构及其工作人员通过展示政府的目的和通过实际作为赢得公民的普遍性信任而拥有的一种权威性资源。政府公信力
铀矿伽玛测井解释软件在国内目前比较单一,解释方法大多只有反褶积解释法,而针对不同类型的矿层应用不同的解释方法,因此开发出一款涵盖多种解释方法的解释软件,才能更方便地
《高等学校辅导员职业能力标准(暂行)》明确了当前高校辅导员专业素质的基本要求和开展工作的基本规范,成为引领高校辅导员专业化、职业化、专家化队伍建设的指挥棒。通过分
随着工业化的迅猛发展,企业规模的扩大,工业自动控制系统越来越庞大,对自控系统的控制要求也越来越高。而电子技术、计算机网络技术的发展,使得工业控制系统向分散化、网络化、智