[发明专利]一种高级语言转换成其它高级语言的方法及转换器无效
申请号: | 200910080311.2 | 申请日: | 2009-03-18 |
公开(公告)号: | CN101499015A | 公开(公告)日: | 2009-08-05 |
发明(设计)人: | 施波;赵雅囡;刘金龙;王沿海 | 申请(专利权)人: | 北京和利时系统工程有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 龙 洪;霍育栋 |
地址: | 100096北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高级 语言 转换 其它 方法 转换器 | ||
1、一种高级语言的转换器,其特征在于,包括:
词法分析装置,用于接收源语言编辑器输出的ASCII码序列,并输出带有属性的ASCII序列组合;
语法分析装置,用于接收所述词法分析装置输出的带有属性的ASCII序列组合,根据源语言语法结构,生成语法分析树并输出;
语义分析装置,用于验证所述语法分析装置输出的语法分析树的有效性,输出验证合格的语法分析树;
目标语言生成装置,用于保存源语言语法分析树中不同类型的节点和目标语言描述片段之间的对应关系,以及各类型节点对应的目标语言描述片段中,各条目标语言描述之间的层次关系;
所述目标语言生成装置当接收所述语义分析装置输出的验证合格的语法分析树后,对该语法分析树进行后序遍历,根据所述对应关系生成语法分析树中每一个节点所对应的目标语言描述片段,所生成的目标语言描述片段共同构成目标语言描述;当生成目标语言描述片段时,根据所述层次关系确定各条目标语言描述的层次,在该目标语言描述左边添加相应数目的特定字符。
2、如权利要求1所述的转换器,其特征在于,还包括:错误处理装置;
所述语法分析装置还用于当在处理中发现错误时暂停处理,将发现的错误报告给错误处理装置;根据错误处理装置的指示调整本装置的内部状态后继续处理;
所述语义分析装置还用于当在处理中发现错误时暂停处理,将发现的错误报告给错误处理装置;根据错误处理装置的指示调整本装置的内部状态后继续处理;
错误处理装置,用于当收到所述语法分析装置或所述语义分析装置报告的错误后,根据所报告的错误指示报告错误的装置调整内部状态。
3、如权利要求2所述的转换器,其特征在于,所述语法分析装置,或者所述语义分析装置将发现的错误报告给错误处理装置是指:
将所发现错误的错误状态传递给所述错误处理装置;所述错误状态指示错误发生部分所在节点的类型;
所述错误处理装置根据所报告的错误指示报告错误的装置调整内部状态具体是指:
所述错误处理装置根据预存的错误状态与跳出标志的对应关系,确定所述错误状态对应的跳出标志,然后将所找到的跳出标志告知报告错误的装置。
4、如权利要求3所述的转换器,其特征在于,所述语法分析装置根据错误处理装置的指示调整本装置的内部状态后继续处理具体是指:
所述语法分析装置在待处理的ASCII序列组合中,顺序查找第一个跳出标志,找到后继续处理该跳出标志之后的ASCII序列组合;
所述语义分析装置根据错误处理装置的指示调整本装置的内部状态后继续处理具体是指:
所述语义分析装置在待验证的语法分析树中,顺序查找第一个跳出标志,找到后继续验证该跳出标志之后的语法分析树。
5、如权利要求2到4中任一项所述的转换器,其特征在于,所述语法分析装置,或者所述语义分析装置将发现的错误报告给错误处理装置是指:
将所发现错误的错误内容传递给所述错误处理装置;所述错误内容包括错误描述和错误位置;
所述错误处理装置还用于根据预存的错误描述与修改方法的对应关系,确定相应的修改方法,以及报告所述错误内容及修改方法。
6、如权利要求1、2到4中任一项所述的转换器,其特征在于,目标语言生成装置所保存的各条目标语言描述之间的层次关系为:
对于一个节点中包含的各个处理子节点,其对应的目标语言描述的层次相同,并且比该节点高;对于不是任何节点的处理子节点的节点而言,所对应的目标语言描述处于最低层;一个节点的处理子节点是指从属于该节点的、作为该节点内容的节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京和利时系统工程有限公司,未经北京和利时系统工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910080311.2/1.html,转载请声明来源钻瓜专利网。