Итак, у меня есть пример грамматики 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
}
}
Для распечатки текстовой версии AST всякий раз, когда вызывается doGenerate. Я взломал это около двух дней, и я явно упускаю что-то фундаментальное - кто-то пожалел меня? Что будет в функции doGenerate?