首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于自定义文法的解析器及推导树代码生成系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:上海安般信息科技有限公司

摘要:本发明公开了一种基于自定义文法的解析器及推导树代码生成系统,包括:输入模块,用以输入自定义的文法文件和配置文件;转换模块,获取文法文件和配置文件,生成文法规则文件和词法文件,构造文法产生式及文法规则内部数据;解析器生成模块,根据文法规则文件和词法文件,生成词法器头文件与源文件,生成文法解析器头文件与源文件,生成解析器源码;推导树生成模块,根据文法产生式及文法规则内部数据,查找对应关系,构造推导树节点类,根据文法规则文件定义的文法规则,生成节点类头文件和节点类定义,遍历节点进行二叉树转换生成推导树源码。本发明根据文法文件以及配置文件,自动生成解析器源码以及推导树源码,减少人工更改代码的工作量。

主权项:1.一种基于自定义文法的解析器及推导树代码生成系统,其特征在于,包括:输入模块,用以输入自定义的文法文件、词法配置文件和文法配置文件;转换模块,用以与所述输入模块交互,获取文法文件、词法配置文件和文法配置文件,生成文法规则文件和词法文件,构造文法产生式及文法规则内部数据;解析器生成模块,根据文法规则文件和词法文件,生成词法器头文件与源文件,生成文法解析器头文件与源文件,生成解析器源码;推导树生成模块,根据文法产生式及文法规则内部数据,查找对应关系,构造推导树节点类,根据文法规则文件定义的文法规则,生成节点类头文件和节点类定义,遍历节点进行二叉树转换生成推导树源码;编译封装模块,将所述文法文件、所述文法规则文件、所述解析器源码以及所述推导树源码编译封装为脚本文件,作为模糊测试的测试工具;所述文法文件用以定义协议数据的文法规则与功能表示以及定义终结符、非终结符和操作符;所述文法文件用BNF描述;所述词法配置文件用以定义token及其正则表达式,包括整数常量、浮点数常量和标识符名字;所述文法配置文件用以规定操作符的优先级以及定义结合律;所述转换模块区分终结符与非终结符,提取所有的非终结符,将文法规则的文法产生式右手边符号的所有非终结符作为节点类成员,并将非终结符名字作为节点类名字,节点类名字对应的非终结符的文法产生式左手边符号对应有一条或多条文法规则,将该文法规则作为对应的节点类对象的文法规则,将非终结符、节点类以及文法规则的对应关系作为文法规则内部数据保存;所述转换模块读取词法配置文件,将词法配置文件定义成词法文件的骨架文件,在骨架文件的主体部分进行配置设置,在骨架文件中设置埋点标识字符串,将token类型信息填充到埋点区域,实现词法配置与生成内容的分离;所述转换模块读取文法配置文件,将文法配置文件定义成文法规则文件的骨架文件;在骨架文件的%code部分进行配置设置,填入引用的头文件;在文法规则文件主体部分填入文法规则和功能表示;实现文法配置同生成内容的分离。

全文数据:

权利要求:

百度查询: 上海安般信息科技有限公司 一种基于自定义文法的解析器及推导树代码生成系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。