[发明专利]一种计算机程序语言的编译方法和编译器有效
申请号: | 201710365323.4 | 申请日: | 2017-05-22 |
公开(公告)号: | CN107301079B | 公开(公告)日: | 2020-02-04 |
发明(设计)人: | 陈宏君;张磊;周磊;文继锋;谭良良;刘克金;吴波;徐卫峰 | 申请(专利权)人: | 南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 11270 北京派特恩知识产权代理有限公司 | 代理人: | 张振伟;姚开丽 |
地址: | 211102 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例公开了一种计算机程序语言的编译方法,包括:对结构化文本ST语言的循环语句进行预处理后,至少获取循环语句的初始值表达式、终止值表达式、循环增量表达式和循环执行语句;对初始值表达式和终止值表达式分别进行编译,得到初始值表达式的值和终止值表达式的值;将初始值表达式的值确定为循环语句的索引值;基于循环增量表达式的类型,从初始值表达式的值和终止值表达式的值中确定出循环语句的上界和循环语句的下界;基于循环语句的上界、循环语句的下界、循环语句的索引值和循环增量表达式,对循环执行语句进行编译,得到循环语句的编译结果。本发明实施例还同时公开了一种编译器。 | ||
搜索关键词: | 一种 计算机 程序语言 编译 方法 编译器 | ||
【主权项】:
1.一种计算机程序语言的编译方法,其特征在于,包括:/n对结构化文本ST语言的循环语句进行预处理后,至少获取所述循环语句的初始值表达式、终止值表达式、循环增量表达式和循环执行语句;/n对所述初始值表达式和所述终止值表达式分别进行编译,得到初始值表达式的值和终止值表达式的值;/n将所述初始值表达式的值确定为所述循环语句的索引值;/n基于所述循环增量表达式的类型,从所述初始值表达式的值和所述终止值表达式的值中确定出所述循环语句的上界和所述循环语句的下界;/n基于所述循环语句的上界、所述循环语句的下界、所述循环语句的索引值和所述循环增量表达式,对所述循环执行语句进行编译,得到所述循环语句的编译结果;/n当所述循环增量表达式的常量类型为正数常量时,对所述循环执行语句进行编译,得到对应的编译语句;/n比较所述循环语句的索引值与所述循环语句的上界是否相等;/n若为是,终止所述循环语句;/n若为否,根据所述循环语句的索引值与所述循环增量表达式的值,更新所述循环语句的索引值,重新对所述循环执行语句进行编译,得到对应的编译语句,并再次比较所述循环语句的索引值与所述循环语句的上界是否相等;/n当所述循环增量表达式的常量类型为负数常量时,对所述循环执行语句进行编译,得到对应的编译语句;/n比较所述循环语句的索引值与所述循环语句的下界是否相等;/n若为是,终止所述循环语句;/n若为否,根据所述循环语句的索引值与所述循环增量表达式的值,更新所述循环语句的索引值,重新对所述循环执行语句进行编译,得到对应的编译语句;并再次比较所述循环语句的索引值与所述循环语句的下界是否相等;/n当所述循环增量表达式的类型为变量时,对所述循环执行语句进行编译,得到对应的编译语句;/n对所述循环增量表达式进行编译,得到所述循环增量表达式的值;/n根据所述循环语句的索引值与所述循环增量表达式的值,更新所述循环语句的索引值;/n比较更新后的所述循环语句的索引值是否大于所述循环语句的上界,若为是,终止所述循环语句;/n比较更新后的所述循环语句的索引值是否小于所述循环语句的下界,若为是,终止所述循环语句;/n否则,重新对所述循环执行语句进行编译,得到对应的编译语句;并再次对所述循环增量表达式进行编译,得到所述循环增量表达式的值。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司,未经南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710365323.4/,转载请声明来源钻瓜专利网。