[发明专利]使用二进制中间表示的处理方法在审
| 申请号: | 201980062203.4 | 申请日: | 2019-07-25 |
| 公开(公告)号: | CN112753014A | 公开(公告)日: | 2021-05-04 |
| 发明(设计)人: | 一峻·俞 | 申请(专利权)人: | 英国开放大学 |
| 主分类号: | G06F8/40 | 分类号: | G06F8/40 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强 |
| 地址: | 英国白*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 使用 二进制 中间 表示 处理 方法 | ||
一种计算机实现的方法,包括以下步骤:接收源代码,该源代码具有关联的语法;生成源代码的二进制中间表示;对二进制中间表示执行后续处理。
技术领域
本发明涉及一种使用二进制中间表示来处理数据的计算机实现的方法。
背景技术
许多常见的软件工程活动(例如进行补丁、切片、以及重构)都需要对源代码进行分析,这些源代码通常以文本的形式表示,以供人类理解。该源代码需要解析,在本申请中,解析应理解为表示将源代码解码为结构表示。解析可以包括检查源代码的正确语法。执行解析的软件组件在本文中称为“解析器”。解析器通常将源代码转换为抽象语法树(abstract syntax tree,AST),以进行后续的静态分析和程序转换,例如程序切片等。随着软件系统的发展,其源代码结构的大小也不断增长,这必然需要更长的解析时间。此外,准确地检查代码伪像在引入更改前和引入更改后的结构差异(例如进行比较)也需要花费更长的时间。
为了支持这些软件工程活动,使诸如编译器等工具自动化需要将源代码作为中间表示来处理。中间表示是一种数据结构或代码,用于以有利于进一步处理的方式表示源代码。通常,每次工具分析源代码时都需要进行解析,中间表示通常会被永久存储,从而不需要再次解析源代码。理想的情况是,中间表示不仅准确(即,表示源代码且不丢失信息),而且还独立于源代码的语言。
除准确性和独立性外,中间表示还应满足以下要求:
(i)有表现力:中间表示应可以表达任何主流编程语言的(递归)源代码结构。
(ii)高效:中间表示应可以尽快加载到存储器中。
(iii)可互操作:应可以由任何分析工具通过应用编程接口(applicationprogramming interface,API)来操纵中间表示。
下表1示出了一些已知的以下中间表示技术的属性:gcc1、srcML2、yaxx3、txl4、以及antlr5。显而易见,上述已知技术中没有一种能够表现出以下三种所需特性:表现力、效率、以及互操作性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英国开放大学,未经英国开放大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980062203.4/2.html,转载请声明来源钻瓜专利网。





