CN103294470A - 内嵌自然语言的编程语言系统 - Google Patents
内嵌自然语言的编程语言系统 Download PDFInfo
- Publication number
- CN103294470A CN103294470A CN2013102027038A CN201310202703A CN103294470A CN 103294470 A CN103294470 A CN 103294470A CN 2013102027038 A CN2013102027038 A CN 2013102027038A CN 201310202703 A CN201310202703 A CN 201310202703A CN 103294470 A CN103294470 A CN 103294470A
- Authority
- CN
- China
- Prior art keywords
- functional block
- natural language
- programming language
- parameter
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种内嵌自然语言的编程语言系统,包括集成开发环境,所述集成开发环境包括内嵌自然语言的编程语言、工程管理器、代码编辑器、编译器以及下载和调试器;所述内嵌自然语言的编程语言包括用于产生源代码程序的参数块和功能块,所述参数块封装了多个不同的参数所代表的物理概念特征,所述功能块封装了多个不同的功能实体特征。本发明提供内嵌自然语言的编程语言,代码可读性强;采用软件构件设计,软件的复用性强,实现复杂系统的代码量小,代码易于维护。
Description
技术领域
本发明涉及用于软件应用程序开发的编程语言,尤其涉及一种内嵌自然语言的编程语言系统。
背景技术
随着对工业系统的控制要求复杂性的提高,软件开发的代码量日益增大,主流的C、C++、java、C#等高级语言的可读性要优于汇编语言和机器语言,但是同样会限制汉语等自然语言在代码中的应用,对于管理维护包含有不同语言的代码的工作来说,工作量大并且具有一定的难度,如何提高代码的可读性和软件的复用性成为解决此问题的关键。
发明内容
针对上述存在的问题,本发明的目的是提供一种内嵌自然语言的编程语言系统,以提高代码的可读性和软件的复用性,减少代码的日常管理维护工作。
本发明的目的是通过下述技术方案实现的:
一种内嵌自然语言的编程语言系统,其中,包括:
包括集成开发环境,所述集成开发环境包括内嵌自然语言的编程语言、工程管理器、代码编辑器、编译器以及下载和调试器;
所述内嵌自然语言的编程语言包括用于产生源代码程序的参数块和功能块,所述参数块封装了多个不同的参数所代表的物理概念特征,所述功能块封装了多个不同的功能实体特征;
所述工程管理器用于管理软件工程内的所有文件,所述代码编辑器提供代码编辑窗口,所述编译器编译所述源代码程序并生成目标码,继而通过所述下载和调试器下载至外部嵌入式设备。
上述内嵌自然语言的编程语言系统,其中,所述参数块封装了参数所代表物理概念的数据类型、数值范围、存储类型和语义实现规则。
上述内嵌自然语言的编程语言系统,其中,所述数据类型包括数字型和或文本型和或字节型。
上述内嵌自然语言的编程语言系统,其中,所述语义实现规则定义多种语义对象模型,所述语义对象模型包括适用于对自然语言的语义元素进行建模的一组建模类型,所述建模类型独立于任一特定的自然语言。
上述内嵌自然语言的编程语言系统,其中,所述建模类型包括用于对名词短语和或形容词短语和或动词短语的语义进行建模的实体类型。
上述内嵌自然语言的编程语言系统,其中,所述功能块包括系统功能块、任务控制块、系统通信块、流程控制块和输入输出驱动块。
上述内嵌自然语言的编程语言系统,其中,所述功能块还包括库文件,所述库文件用以存储与所述功能块中的各个功能块相对应的功能块号,以及与所述功能块中的各个功能块所包含的操作运算符相对应的操作码。
上述内嵌自然语言的编程语言系统,其中,所述编译器第一遍扫描所述源代码程序,将所述功能块的参数按照所述功能块出现的先后次序分配地址,并获取参数的初值,生成参数格式文件;所述编译器第二遍扫描所述源代码程序,从所述功能块的库文件中查找与所述功能块相对应的功能块号以及与所述操作运算符相对应的操作码,并根据第一遍扫描生成的所述参数格式文件查找与参数对应的数据偏移地址,扫描结束后生成目标码。
与已有技术相比,本发明的有益效果在于:
1、提供内嵌自然语言的编程语言,代码可读性强;
2、采用软件构件设计,软件的复用性强,实现复杂系统的代码量小,代码易于维护。
附图说明
图1是本发明内嵌自然语言的编程语言系统的实施例的系统结构示意框图。
具体实施方式
下面结合原理图和具体操作实施例对本发明作进一步说明。
本发明内嵌自然语言的编程语言系统包括集成开发环境,集成开发环境包括内嵌自然语言的编程语言、工程管理器、代码编辑器、编译器以及下载和调试器。如图1所示,内嵌自然语言的编程语言包括用于产生源代码程序的参数块和功能块,参数块封装了多个不同的参数所代表的物理概念特征,功能块封装了多个不同的功能实体特征。
集成开发环境为内嵌自然语言的编程语言提供集工程管理器、代码编辑器、编译器、下载和调试器等于一体集成开发软件平台。工程管理器管理软件工程内的所有文件,代码编辑器提供代码编辑窗口,支持语法高亮,编译器编译源代码程序并生成目标码,继而通过下载和调试器下载至外部嵌入式设备。
开发人员通过集成开发软件平台的代码编辑器使用内嵌自然语言的编程语言进行软件程序源代码的开发,可通过关键字、拖拽等方式添加代码,完整的程序包括系统定义、任务定义、任务体外功能块序列和任务体内功能序列。
参数块封装了参数所代表物理概念的数据类型、数值范围、存储类型和语义实现规则。
数据类型包括数字型和或文本型(String)和或字节型(Byte),数字型比如Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度浮点型)和Currency(货币型)。与Variant类型相比,Numeric类型占用的存储空间通常要少。
语义实现规则定义多种语义对象模型,语义对象模型包括适用于对自然语言的语义元素进行建模的一组建模类型,建模类型独立于任一特定的自然语言。
进一步的,建模类型包括用于对名词短语和或形容词短语和或动词短语的语义进行建模的实体类型,将面向工业控制领域常用到的名词、形容词和动词收集并作为建模的实体类型参考,便基本涵盖了编程系统中需要应用的自然语言内容。
在本发明的优选实施例中,参看图1所示,功能块包括系统功能块、任务控制块、系统通信块、流程控制块和输入输出驱动块。流程控制块提供了监视单个过程变量和设备的能力,系统通信块提供了各个功能块之间相互通信的能力。
功能块还包括库文件(DLL),库文件用以存储与上述功能块中的各个功能块相对应的功能块号,以及与功能块中的各个功能块所包含的操作运算符相对应的操作码,功能块号以自然数表示,可以选取一定的数值范围进行操作,将各式的操作运算符转换成相应的操作码后利于存储和匹配。
功能块的定义格式如下:
-功能块类型[.][数据项,数据项,…..],[命令结束符];
实例:_PIDRelayTuneCtrl[.]″输入″:=Memb;//自整定PID控制器
_IntBuild[.]#Paramts::Lenght;//定义整型变量
此处的粗体标识(Memb和Lenght)为用户输入部分,用户可以利用常规的自然语言进行输入,譬如包括数量和长度单位等等。
编译器第一遍扫描源代码程序,将功能块的参数按照功能块出现的先后次序分配地址,并获取参数的初值,生成参数格式文件;编译器第二遍扫描源代码程序,从功能块的库文件中查找与功能块相对应的功能块号以及与操作运算符相对应的操作码,并根据第一遍扫描生成的参数格式文件查找与参数对应的数据偏移地址,扫描结束后生成目标码。
本发明采用软件构件的设计思想,将功能封装成功能块,功能块封装功能实体的运算处理规则、存储单元、语义和语义的具体实现等,开发人员只需关注功能块的外在公用接口,无需知道具体实现。特定应用系统的开发变成对功能块的组合,使软件开发从应用系统的开发转变为应用系统的集成,软件复用性高,开发灵活,代码可读性强,易于维护。
以上对本发明的具体实施例进行了详细描述,但本发明并不限制于以上描述的具体实施例,其只是作为范例。对于本领域技术人员而言,任何等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作出的均等变换和修改,都应涵盖在本发明的范围内。
Claims (8)
1.一种内嵌自然语言的编程语言系统,其特征在于,包括集成开发环境,所述集成开发环境包括内嵌自然语言的编程语言、工程管理器、代码编辑器、编译器以及下载和调试器;
所述内嵌自然语言的编程语言包括用于产生源代码程序的参数块和功能块,所述参数块封装了多个不同的参数所代表的物理概念特征,所述功能块封装了多个不同的功能实体特征;
所述工程管理器用于管理软件工程内的所有文件,所述代码编辑器提供代码编辑窗口,所述编译器编译所述源代码程序并生成目标码,继而通过所述下载和调试器下载至外部嵌入式设备。
2.如权利要求1所述内嵌自然语言的编程语言系统,其特征在于,所述参数块封装了参数所代表物理概念的数据类型、数值范围、存储类型和语义实现规则。
3.如权利要求2所述内嵌自然语言的编程语言系统,其特征在于,所述数据类型包括数字型和或文本型和或字节型。
4.如权利要求2所述内嵌自然语言的编程语言系统,其特征在于,所述语义实现规则定义多种语义对象模型,所述语义对象模型包括适用于对自然语言的语义元素进行建模的一组建模类型,所述建模类型独立于任一特定的自然语言。
5.如权利要求4所述内嵌自然语言的编程语言系统,其特征在于,所述建模类型包括用于对名词短语和或形容词短语和或动词短语的语义进行建模的实体类型。
6.如权利要求2所述内嵌自然语言的编码语言系统,其特征在于,所述功能块包括系统功能块、任务控制块、系统通信块、流程控制块和输入输出驱动块。
7.如权利要求6所述内嵌自然语言的编程语言系统,其特征在于,所述功能块还包括库文件,所述库文件用以存储与所述功能块中的各个功能块相对应的功能块号,以及与所述功能块中的各个功能块所包含的操作运算符相对应的操作码。
8.如权利要求7所述内嵌自然语言的编程语言系统,其特征在于,所述编译器第一遍扫描所述源代码程序,将所述功能块的参数按照所述功能块出现的先后次序分配地址,并获取参数的初值,生成参数格式文件;所述编译器第二遍扫描所述源代码程序,从所述功能块的库文件中查找与所述功能块相对应的功能块号以及与所述操作运算符相对应的操作码,并根据第一遍扫描生成的所述参数格式文件查找与参数对应的数据偏移地址,扫描结束后生成目标码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102027038A CN103294470A (zh) | 2013-05-27 | 2013-05-27 | 内嵌自然语言的编程语言系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102027038A CN103294470A (zh) | 2013-05-27 | 2013-05-27 | 内嵌自然语言的编程语言系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103294470A true CN103294470A (zh) | 2013-09-11 |
Family
ID=49095410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102027038A Pending CN103294470A (zh) | 2013-05-27 | 2013-05-27 | 内嵌自然语言的编程语言系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103294470A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103543997A (zh) * | 2012-07-17 | 2014-01-29 | 于丙超 | 三字编程法 |
CN110815231A (zh) * | 2019-11-25 | 2020-02-21 | 深圳市天博智科技有限公司 | 机器人控制方法和装置 |
CN112558541A (zh) * | 2019-09-25 | 2021-03-26 | 北京东土科技股份有限公司 | 一种plc编程扩展系统、方法及电子设备 |
CN115437620A (zh) * | 2022-11-09 | 2022-12-06 | 广东省科技基础条件平台中心 | 一种自然语言编程方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716192A (zh) * | 2004-04-23 | 2006-01-04 | 微软公司 | 语义编程语言和语言对象模型 |
CN1889043A (zh) * | 2006-07-17 | 2007-01-03 | 大连大有吴涛易语言软件开发有限公司 | 计算机编程中使用人类自然语言的方法 |
CN101930428A (zh) * | 2009-06-18 | 2010-12-29 | 万继华 | 计算机理解自然语言的系统及方法 |
CN102004528A (zh) * | 2010-11-10 | 2011-04-06 | 吴晓栋 | 一种新一代计算机系统的设计思想及其实现方法 |
CN102087597A (zh) * | 2011-02-14 | 2011-06-08 | 浪潮通信信息系统有限公司 | 一种基于j2ee和构件集的可视化开发平台 |
-
2013
- 2013-05-27 CN CN2013102027038A patent/CN103294470A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716192A (zh) * | 2004-04-23 | 2006-01-04 | 微软公司 | 语义编程语言和语言对象模型 |
CN1889043A (zh) * | 2006-07-17 | 2007-01-03 | 大连大有吴涛易语言软件开发有限公司 | 计算机编程中使用人类自然语言的方法 |
CN101930428A (zh) * | 2009-06-18 | 2010-12-29 | 万继华 | 计算机理解自然语言的系统及方法 |
CN102004528A (zh) * | 2010-11-10 | 2011-04-06 | 吴晓栋 | 一种新一代计算机系统的设计思想及其实现方法 |
CN102087597A (zh) * | 2011-02-14 | 2011-06-08 | 浪潮通信信息系统有限公司 | 一种基于j2ee和构件集的可视化开发平台 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103543997A (zh) * | 2012-07-17 | 2014-01-29 | 于丙超 | 三字编程法 |
CN112558541A (zh) * | 2019-09-25 | 2021-03-26 | 北京东土科技股份有限公司 | 一种plc编程扩展系统、方法及电子设备 |
CN112558541B (zh) * | 2019-09-25 | 2022-04-15 | 北京东土科技股份有限公司 | 一种plc编程扩展系统、方法及电子设备 |
CN110815231A (zh) * | 2019-11-25 | 2020-02-21 | 深圳市天博智科技有限公司 | 机器人控制方法和装置 |
CN115437620A (zh) * | 2022-11-09 | 2022-12-06 | 广东省科技基础条件平台中心 | 一种自然语言编程方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Selic | A systematic approach to domain-specific language design using UML | |
Collard et al. | Lightweight transformation and fact extraction with the srcML toolkit | |
Jézéquel et al. | Model driven language engineering with kermeta | |
Combemale et al. | Concern-oriented language development (COLD): Fostering reuse in language engineering | |
CN104932905A (zh) | 一种aadl到c语言的代码自动生成方法 | |
KR20080043325A (ko) | 유형 추론 및 유형 지향 후기 바인딩 | |
CN104657142A (zh) | 一种基于OSGi技术的CCFD系统 | |
CN103294470A (zh) | 内嵌自然语言的编程语言系统 | |
CN101859244A (zh) | 多工具链工程构建方法及系统 | |
Bryant et al. | From natural language requirements to executable models of software components | |
Schattkowsky et al. | Model-based design of embedded systems | |
CN100468437C (zh) | .Net程序保护的方法和系统 | |
CN202177891U (zh) | 一种操作嵌入式计算机系统开发工具的装置 | |
CN106815003A (zh) | 一种计算机语言的交互系统及交互方法 | |
WO2009106843A2 (en) | System representation and handling techniques | |
Ahmad et al. | An AADL-DEVS Framework for Cyber-Physical Systems Modeling and Simulation Supported with an Integrated OSATE and DEVS-Suite Tools | |
Chauvel et al. | Kermeta Language Overview | |
George et al. | Programming language inter-conversion | |
Perseil et al. | A concrete syntax for UML 2.1 action semantics using+ CAL | |
Ke et al. | Generative programming for a component-based framework of distributed embedded systems | |
Henkel | Constrained java and its application for refactoring large java programs | |
Liu et al. | MSI-SDL: A semantic description language for multi-source binary translation systems | |
Gotti et al. | IFVM Bridge: A Virtual Machine for IFML Models Execution in Combination with Domain Models. | |
Horlbeck Olsen | The Eagle Programming Language | |
Dingel et al. | Definition and implementation of a semantic mapping for UML-RT using a timed pi-calculus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130911 |
|
RJ01 | Rejection of invention patent application after publication |