Xtext Language

当新建一个Xtext工程后,会自动打开Entities.xtext文件,这里面是一些语言的语法定义。

新建一个工程后一般都包括了如下三个工程:
• org.example.entities 这是主工程,里面包含着一些语言定义和所有的运行组件                                          is the main project that contains the grammardefinition and all the runtime components             that are independent from the UI
• org.example.entities.tests 包含的是测试单元
• org.example.entities.ui contains 包含的是界面

在.xtext文件中进行语法定义:
//声明了这门语言的名字,它与所有的.xtext文件相关联
grammar org.example.entities.Entities with org.eclipse.xtext.common. Terminals
//定义了一些生成EMF的规则



Model:
greetings+=Greeting*;
Greeting:
'Hello' name = ID '!';
这些才是真正的语法规则

Model: entities += Entity*;
表明我们声明:Entities DSL程序是一个Entity的集合,其中*表示任意个(包括0个),"+="隐含着这是一个集合,因此一个程序可以是空的或者包含0个Entity
If we wanted our programs to contain at least one Entity, we should have used the operator + instead of *.


Entity的格式是:
Entity:
'entity' name = ID ('extends' superType=[Entity])? '{'
attributes += Attribute*
'}'
;
有三个关键字entity extends  {}
因此说一个有效的Entity必须符合以下格式:
entity  nameEntity


详情可以可以参考Xtext官网:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值