Xtext Language
来源:互联网 发布:大爆太子太空舱知乎 编辑:程序博客网 时间:2024/06/05 03:21
当新建一个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的规则
generate entities "http://www.example.org/entities/Entities"
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官网:
http://www.eclipse.org/Xtext/documentation/102_domainmodelwalkthrough.html
0 0
- Xtext Language
- Xtext是什么
- EMF Xtext JavaDoc
- 新建一个Xtext工程
- Xtext——10. Xtext 2.2中的新特性
- Xtext——1. 安装
- Xtext——11. 概述
- Xtext Headless模式代码生成
- Xtext内部类型的设置
- language
- language
- Xtext——2. 五分钟入门
- Xtext——3. 十五分钟入门
- Xtext——6. 安装antlr
- Xtext——7. Xtend之概述
- Xtext——9. Xtend之表达式
- Xtext——12. 语法语言
- 领域专用语言开源框架Xtext 2.0 发布了
- 判断页面加载后是否所有的下拉框都有数据
- 数据库和实例
- 精灵游戏实现
- Android小记-根据domain清除cookie
- HDOJ3763 二分查找
- Xtext Language
- JavaScript DOM中删除元素
- 分类算法:朴素贝叶斯算法
- 《计算机组成与原理》读书笔记5
- hdu2602 Bone Collector(01背包)
- 13 款惊艳的 Node.js 框架——第2部分
- 简述dfs,bfs,Dijkstra思想及区别
- STL之queue
- 使用Java实现简单串口通信