当前位置: 首页 > 工具软件 > Xtext > 使用案例 >

Xtext Language

狄玉书
2023-12-01
当新建一个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官网:
 类似资料:

相关阅读

相关文章

相关问答