[发明专利]一种基于C语言家族的增强开关语句功能的方法有效
申请号: | 201510080516.6 | 申请日: | 2015-02-14 |
公开(公告)号: | CN104657190B | 公开(公告)日: | 2018-05-11 |
发明(设计)人: | 侯济恭 | 申请(专利权)人: | 南威软件股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 泉州市文华专利代理有限公司 35205 | 代理人: | 陈雪莹 |
地址: | 362000 福建省泉州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于C语言家族的增强开关语句功能的方法,所述方法包括:步骤1、用户编写含有开关语句的源程序,所述开关语句的选择因子包括常量和表达式;步骤2、编译器通过预编译程序读入所述源程序,对源程序进行语法分析、语义分析和词法分析,从而将源程序中的开关语句生成相应的增强型开关语句目标代码。本发明的优点在于,使得C语言家族中开关语句的功能更加强大,既能处理原来的常量选择因子,又能处理复杂的条件表达式,不仅保留了开关语句逻辑清晰、层次分明的优点,又使其具有处理复杂条件的能力,增强了开关语句的功能,提高了程序设计的效率与代码质量。 | ||
搜索关键词: | 一种 基于 语言 家族 增强 开关 语句 功能 方法 | ||
【主权项】:
1.一种基于C语言家族的增强开关语句功能的方法,其特征在于:所述方法包括如下步骤:步骤1、用户编写含有开关语句的源程序,所述开关语句的选择因子包括常量、条件表达式和空;步骤2、编译器通过预编译程序读入所述源程序,对源程序进行语法分析、语义分析和词法分析,从而将源程序中的开关语句生成相应的增强型开关语句目标代码,且编译器所生成的增强型开关语句目标代码也是C语言;所述增强型开关语句目标代码的结构包括:开关语句头部、开关体和开关语句尾部,其中,所述开关体由复数个case码组成,所述case码包括case头码、case中间码和case尾码;该增强型开关语句目标代码结构简洁明了,易于阅读和调试,该增强型开关语句目标代码的结构具体为: 其中,开关体由复数个case码组成,case码的结构为:case头码:“if(exp){”case中间码:“语句串;”case尾码:“break;}”;所述预编译程序包括,用于进行语法分析的主函数、语义分析程 序、用于分解源程序关键词的词法分析程序和用于生成增强型开关语句目标代码的语义子程序集;所述编译器执行的预编译过程具体为:步骤20、包括switch层次栈、case栈清空的初始化;步骤21、读入源程序,开始编译;步骤22、判断源程序是否终止:若是,则退出编译;若否,则跳转步骤23;步骤23、对源程序进行词法分析;步骤24、判断是否为开关语句:若是,则跳转步骤25;若否,则跳转步骤28;步骤25、判断开关语句的选择因子是否为空:若是,则跳转步骤26;若否,则跳转步骤28;步骤26、根据词法分析返回的结果,由语义子程序集生成相应的增强型开关语句目标代码;步骤27、返回步骤21;步骤28、对原开关语句进行格式化处理,即保留原语义;步骤29、返回步骤21;所述步骤23中所述的词法分析具体过程为:步骤30、分析源程序的关键词:判断关键词是否为“switch”:若是,则跳转步骤31;若否,跳转步骤32;步骤31、判断选择因子是否为空:若是,则设定SWITCH标志,跳转步骤36;若否,则设定OTHERS标志,跳转步骤36;步骤32、判断关键词是否为“case”:若是,则设定CASE标志,跳转步骤36;若否,跳转步骤33;步骤33、判断关键词是否为“{”:若是,则设定BEGIN标志,跳转步骤36;若否,跳转步骤34;步骤34、判断关键词是否为“}”:若是,则设定END标志,跳 转步骤36;若否,跳转步骤35;步骤35、设定OTHERS标志,跳转步骤36;步骤36、返回标志结果;所述生成增强型开关语句目标代码的算法为:步骤40、生成开关语句头部;步骤41、读入源程序中的开关语句;步骤42、对开关语句进行词法分析;步骤43、根据步骤36中词法分析返回的标志结果分别执行以下操作:若返回SWITCH标志,说明有嵌套的switch语句,则返回步骤41;若返回CASE标志,则根据case栈的具体情况,生成case头码和case尾码;若返回BEGIN或者END标志,如果case栈非空,则生成case尾码,且如果本层嵌套switch语句结束,则生成开关语句尾部并设定关闭本层switch语句标志;若返回OTHERS标志,则对原开关语句进行格式化处理。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南威软件股份有限公司,未经南威软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510080516.6/,转载请声明来源钻瓜专利网。
- 上一篇:筷子整理装置
- 下一篇:一种防腐耐磨铬铜合金铸铁及其制备方法