[发明专利]自动源代码生成有效
申请号: | 201480033537.6 | 申请日: | 2014-06-05 |
公开(公告)号: | CN105378658B | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | D·万 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F8/36 | 分类号: | G06F8/36 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 杨洁 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自动 源代码 生成 | ||
1.一种计算机实现的自动生成一个或多个源代码语句的方法,所述方法包括:
从开发者处接收对来自多个简档的一简档的选择,所述简档包括一个或多个变量代码元素以及一个或多个方法,变量代码元素代表编程语言的语法中的元素,所述变量代码元素在不同的上下文中以不同值重复,一个或多个方法中的各个方法包括使用由开发者用自然语言文本串定义的变量代码元素的值来生成源代码语句的可编程指令,所述源代码语句根据软件应用的现有代码基来仿造,并且其中所述简档包括一个或多个规则;
从开发者处获取所述自然语言文本串以指定要生成的所述源代码语句;
通过将所述文本串的句法匹配到所述规则来确定所述文本串中的一个或多个变量代码元素;以及
应用与所述简档相关联的方法以使用所确定的一个或多个变量代码元素的值来生成所述源代码语句。
2.如权利要求1所述的计算机实现的方法,其特征在于,每个简档与特定上下文相关联,其中上下文定义与所生成的源代码语句相关联的编程环境。
3.如权利要求1所述的计算机实现的方法,其特征在于,所述规则包括一个或多个正则表达式,所述正则表达式被用于将所述文本串的所述句法匹配到至少一个规则。
4.如权利要求3所述的计算机实现的方法,其特征在于,所述规则包括一个或多个逻辑语句,每个逻辑语句被用于调用所述方法中的一个或多个方法以生成所述源代码语句。
5.如权利要求1所述的计算机实现的方法,其特征在于,通过将所述文本串的句法匹配到所述规则来确定所述文本串中的一个或多个变量代码元素进一步包括:
在所述规则中搜索与所述文本串的所述句法最佳匹配的规则;以及
使用和与所述文本串的所述句法最佳匹配的所述规则相关联的正则表达式来获取所述一个或多个变量代码元素。
6.一种计算机实现的自动生成一个或多个源代码语句的系统,包括:
处理器和存储器;
包括一个或多个变量代码元素、一个或多个方法以及一个或多个规则的简档,
每个变量代码元素代表与软件应用的源代码语句相关联的编程语言的语法的元素,所述变量代码元素在不同的上下文中以不同值重复,所述方法被用于使用所述变量代码元素的值来生成所述源代码语句,所述源代码语句根据现有代码基来仿造;
第一组指令,当在处理器上执行时,所述第一组指令从开发者处获取指定要生成的所述源代码语句的自然语言文本串;以及
第二组指令,当在处理器上执行时,所述第二组指令通过将所述文本串的句法匹配到所述规则来确定所述文本串中的一个或多个变量代码元素;以及
第三组指令,当在处理器上执行时,所述第三组指令应用与所述简档相关联的一个或多个方法以使用所确定的一个或多个变量代码元素的值来生成所述源代码语句。
7.如权利要求6所述的计算机系统,其特征在于,所述规则包括一个或多个正则表达式,所述正则表达式被用于将所述文本串的句法匹配到至少一个规则。
8.如权利要求6所述的计算机系统,其特征在于,所述规则包括一个或多个逻辑语句,每个逻辑语句被用于调用所述方法中的一个或多个方法以生成所述源代码语句。
9.如权利要求8所述的计算机系统,其特征在于,进一步包括:
第四组指令,所述第四组指令从所述简档的所述规则中,搜寻最佳匹配所述文本串的句法的规则,并使用与所述最佳匹配规则相关联的正则表达式来获取一个或多个变量代码元素;以及
第五组指令,所述第五组指令将所述变量代码元素应用到所述逻辑语句,并应用所述逻辑语句来调用生成所述源代码语句的一个或多个方法。
10.如权利要求6所述的计算机系统,其特征在于,所述第一组指令、所述第二组指令、和所述第三组指令在集成开发环境中执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480033537.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:多处理器系统中的操作系统管理的中断引导
- 下一篇:服务简档维护