计算机编程语言访问方法
文献发布时间:2023-06-19 10:57:17
技术领域:
本发明是一种新型计算机编程语言新型的语法访问方法。
背景技术:
在目前市面上主流的计算机编程语言中,因为以面向对象编程语言为主,对象属性或方法的访问方法一般也是以“.”作为访问连接符,但是面对多类型且多成员的新型编程语言,就不能明显地满足需求了。
发明内容:
本发明为一种新型的编程语言访问方法,包括对类型、对类型成员以及局部变量的访问等。以“:”作为访问方法的开头和结尾,并以关键字的形式声明每一项的实际类型,指派访问的具体目标,有利于避免同名类型和同名成员之间访问的不确定性,访问的具体形式为“:类型关键字名称::成员类型关键字成员名称:”,如果是匿名成员名则可通过仅指定类型来访问,如:“:类型关键字::成员类型关键字:”,且可以无限扩展对下级成员的访问,或仅有一个类型参的则可省略掉双“:”,直接用“.”进行访问。
具体实现方法:
1.对类型库的访问
完整的问为:ku by:
省略访问为by
其中ku为关键字,同时也是一种数据类型,而非传统数据库
2.对类型的访问
名为by的类型库下同时存在名为A但类型不同的实体,我们可以通过如下方法对A分别进行访问:
:ku by::identity A:
:ku by::object A:
:ku by::enum A:
如果类型为匿名且仅有一项,则可通过类型直接访问如:
:ku:
:enum:
如果仅有一项且匿名,则双“:”也可省略,如:
ku.enum
其中ku、object、enum都是类型的关键字;
其中简写形式为:ku by:.A,但前提条件是指定库下面的所有类型中,有且仅有一个名称为A的已声明实体;可简写为by.A,前提条件是by.A不会产生组合歧义,如同时有一个名为by的实体类型,刚好也拥有一个名为A的成员,则会提示二义性;同样可以简写为A,前提条件是当前库及其引用库和系统库中所有类型的已声明实体名称有且仅有一个为A。
也可以单参对匿名声明配置项进行成员访问,但前提是成员必须唯一,示例如下:
完整写法:ku by::identity:
简略写法:ku by:.identity(仅支持该指定的类型只有一个成员,且这个成员为匿名的情况下,可直接通过类型,或省略掉双“:”号直接访问)
因为by类型配置的身份项没有起名,即是一个匿名的身份配置项,则可以不用加入名称参数,仅加入类型参,一个就可以实现访问。
3.对类型内部静态成员的访问
:ku by::object A:.a:
其中ku、object为类型的关键字,在满足对类型正确访问的前提下,也即名称唯一的情况下,可简写为by.A.a
4.对类型内部方法局部变量的访问
名为A的object下的getAge方法同时存在名为i的多个局部变量,我们可以通过如下方法对i分别访问:
“:int i:
:string i:”
如下示例代码:
其中在以上代码中,已经命名了一个名称为i的int对象,但是在之后的代码中又命名了一个名称为i的string的对象,这在本语言中是合法的,但在访问中要标明数据的类型,但是也可以省略,但省略的前提一定是这个名称是唯一的。
5.对表类型结构、关系、缓存表的访问
在一个表中,有field,row关键词,分别标明要访问的是行或列。
完整的表列访问方法为:表名称:field字段名称:.具体字段成员。
完整的表行访问方法为:表名称:row实现identity.name身份的表名称:.具体字段成员。
简略表列访问方法为:表名称.具体字段成员。
简略表行访问方法为:表名称.具体某一个行名称(注:本项的前提为当前的列实现了identity.name的身份项)。
表行中的记录访问方法:rowName.fieldName即:行名称.列的名称,其中返回项为该指定单元格的值。
表行关系的完整访问方法:rowName.relation即:行名称.关系表名称:,本项的访问结果并不是整张表,而是关系表中与当前行所相关的数据行或列。
表行关系的简略访问方法:rowName.relationName即:行名称.关系名称,本项的访问结果并不是整张表,而是关系表中与当前行所相关的数据行或列。
缓存的访问方法:cache session:.要缓存的表名,或缓存名.要缓存的表名或要缓存的表名.缓存名。
以本文中的关系示例表relation与字典示例表dic、dic.detail与缓存示例表session为例,代码示例如下:
通过dic.gender或者dic:row gender:来访问,则返回一致的结果,前者是简略写法,仅在行中没有名称为gender的成员行时则可以提供该写法,后者则是完整写法,返回结果如下:
{gender,"性别"}。
通过dic.name或者dic:field name:来访问,则返回一个列,前者是简略写法,后者是完整写法,返回结果如下:
string name[identity.name]。
通过dic.gender.summary或者dic:row gender:.summary则返回一个一致的单元格,返回结果如果下:
"性别"。
通过dic.gender.slave或者dic:row gender::relation.slave dic.detail:或者
dic:row gender::slave detail:则返回一个一致的多行,返回结果如下:
{gender,men,enum.language.cn:"男"}
{gender,women,enum.language.cn:"女"}。
dic.session或者dic:cache session:或者session.dic则返回缓存表session中dic的缓存记录。
6.通过特定的关键词对身份配置项的访问
本处为“to”关键词,如下:
by.identity.to
其中to为访问关键字,通过to可以访问到身份类型的实际配置项,实际配置项是指身份或角色或关系类型在最终经过用户的配置而产生的新实例的载体。
如以下示例代码,示例了对象与身份项的新实例,其中在身份match的square技能中的to访问的成员就是,demo对象中的test方法中的lengthNum类型为int的临时变量。
示例代码如下:
以下为demo对象的test示例方法
7.enum为表名类型的访问
以enum为表名的表则可以直接访问,列中以enum为类型的列。
以本文中的“枚举列示例enum”为例。
完整的访问:table enum::enum A:.value1
简略访问:enum.A.value1
以上访问则一致返回enum表中value列中的一项。
- 计算机编程语言访问方法
- 基于计算机编程语言的可编程逻辑控制器及实现方法