基于C++的通用词法、语法分析框架的设计实现与应用

被引量 : 4次 | 上传用户:bjzmht
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的飞速发展,计算机程序设计语言也得到了很大的发展,尤其是在网络技术日新月异的今天,不断涌现出了很多新的实用且强大的脚本语言。由此我们考虑到在新的程序设计语言的发展中,每一种新的程序设计语言都必须有与之相对应的编译器,从另一个方面拔高了新的程序设计语言研究的门槛。很多时候我们并不是需要开发一种功能有多强大多全面的程序设计语言,而是希望在某一领域某一功能上有专长的语言。由此,我们想开发这样一个基于C++的通用词法、语法框架,开发者可以使用这个框架,加入自己定义的语法词法规则,形成一个新语言的解析器,这个框架必须是灵活且易于使用的。本论文中实现了这样的一个框架,并编写了一个JSON解析器来介绍其应用。论文的研究过程主要分为三个部分:第一个部分是研究学习通用词法、语法分析框架实现过程中所涉及到的相关知识,主要包括BNF范式、ABNF范式以及ABNF范式的内容和规则定义、编译过程中的词法分析和语法分析过程、分析方法。第二个部分是通用词法、语法分析框架的设计和实现。包括其基本模块及基本模块的实现、框架的结构、以及框架中的元素和操作符的设计与实现,论文中展示了一部分关键代码。第三个部分是通用词法、语法框架的应用。论文中通过使用框架编写了一个JSON解释器,介绍了如何使用该框架,并且通过JSON解释器的实现来验证框架的可用行,然后通过和专业JSON解释器的性能对比来检验框架的运行效率。通过测试,很好的实现了框架的既定功能,并且能够通过使用框架来用很少的代码量实现原本需要很多工作量来实现的工作。
其他文献
本文结合我国信息安全的现状及发展趋势,从信息风险评估、安全预警、信息安全漏洞、信息安全立法等角度出发,对如何增强风险防范意识、堵塞信息安全漏洞、加强信息安全管理进
2007年,NVIDIA推出针对其自身GPU的通用计算模型—CUDA,基于有效利用GPU强大的数据处理能力,CUDA已经被广泛应用于天文计算,力学计算,金融分析等领域。同时,随着阵列信号二维
报告1例手掌持久性隆起性红斑。患者男,74岁,双手掌结节6年。查体:双手掌及部分指关节屈侧大小不一隆起性结节,质硬,中央可见绿豆至黄豆大小溃疡。皮损组织病理:表皮轻度增生,
随着二维码图像的广泛使用和Android智能设备的进一步普及,本文介绍了一个基于Android系统的二维码安全检测系统。本系统主要包含Android客户端和服务器两个部分,Android客户
应用传统酯化力测定方法和有机相中酯化力测定方法测定了大曲中的酯化力。结果表明 ,大曲具有较强的酯化能力 ,且曲外层的酯化力高于曲心 ,新曲的酯化力高于陈曲 ,一等品曲高
产后甲状腺炎(PPT)是一种自身免疫性甲状腺疾病,主要根据详细的病史,无痛性甲状腺肿大,TSH和甲状腺激素异常,甲状腺吸碘率的改变,TPOAb阳性及典型的病情演变特点而明确诊断。
(1)增强节奏感。任何一种语言都是有其发音节奏的。在人们用语言进行交际中,如果使用母语讲话,听起来就比较顺畅,其声音抑扬顿挫,很有节奏感。但是,初学外语的人用外语交谈时,听起来
全国农作物病虫测报网是由29个省(市、自治区)近400个测报(植保)站参加的庞大的组织网络,承担着几十种重大病虫的监测预测任务。随着测报事业的发展,该网络还将不断地建设壮
信息技术和现代管理学知识的飞速发展和迅速普及,使得政府、企业对于IT应用的需求越来越强烈,而先进的信息技术也为管理信息系统的建设铺平了道路。企事业单位及科研公司所诸多
目的:通过临床观察验证温阳益肾汤治疗阴阳两虚型高血压病的疗效价值。方法:临床研究中,将符合纳入标准的高血压病患者随机分为两组,对照组30例,给予西药氯沙坦口服,治疗组30例,给予