Xtext is a framework/tool for development of external textual DSLs. Just describe your very own DSL using Xtext's simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse Text Editor from that.

Xtext

一、创建xtext项目

image-20210915184226655

image-20210915184241646

image-20210915184249053

image-20210915184256617

二、右键Domainmodel.xtext,生成很多.java文件

image-20210915184316620

image-20210915184326179

三、使用Xtend编写代码生成器

image-20210915184409787

image-20210915184431636

效果:

在弹出的eclipse新界面中新建java project项目:

image-20210915184449890

添加.dmodel文件,在里面填写代码,能发现语法高亮、语法验证、链接错误、(快速)大纲视图、折叠等默认功能。

image-20210915184502025

image-20210915184506752

生成.java文件

image-20210915184550045

image-20210915184558624

image-20210915184602648

image-20210915184609006