Eclipse 如何使用Xtext和Xtend生成AST?

Eclipse 如何使用Xtext和Xtend生成AST?,eclipse,xtext,xtend,Eclipse,Xtext,Xtend,我有一个默认的xtext语法示例 grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals generate myDsl "http://www.xtext.org/example/mydsl/MyDsl" Model: greetings+=Greeting*; Greeting: 'Hello' name=ID '!'; 我想查看抽象语法树,尤其是对应的xtend 文件,

我有一个默认的xtext语法示例

grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals

generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"

Model:
    greetings+=Greeting*;

Greeting:
    'Hello' name=ID '!';
我想查看抽象语法树,尤其是对应的xtend 文件,看起来像

package org.xtext.example.mydsl.generator

import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.xtext.generator.IGenerator
import org.eclipse.xtext.generator.IFileSystemAccess

class MyDslGenerator implements IGenerator {

    override void doGenerate(Resource resource, IFileSystemAccess fsa) {
        //TODO implement me
    }
}

在调用doGenerate时打印AST的文本版本。我花了大约两天的时间来研究这个问题,很明显我遗漏了一些基本的东西——有人同情我吗?doGenerate函数将包含什么

doGenerate函数的参数是基于EMF的资源(基本上是文本文件的模型表示——换句话说,是链接已解析的AST)和用于写入文件系统的帮助器类

生成器的任务是创建生成的源代码(通常是Java,但这不是必需的)。例如,请参阅博客文章-最后使用了一个示例代码生成器