2015-06-05 4 views
0

Я искал высоко и низко и, похоже, не нашел ответа или каких-либо примеров.Java ASTNode Посетитель для парсинга RUBY DLTK

Я использую Java рубиновый DLTK

Я хочу, чтобы разобрать строку, которая имеет рубиновый исходный код (.rb файл). Я использую его таким образом:

JRubySourceParser jRubyParser = new JRubySourceParser(); 
ModuleDeclaration result = jRubyParser.parse(getSampleStr()); 
ASTNode parent = result.getChilds().get(0) 

Теперь я застрял. Я не знаю, как пройти через ASTNode с помощью посетителя. Я не хочу использовать getChild.

Конечная цель состоит в том, чтобы получить все имена методов, классы, потребовать файлы, включить файлы и превратить их в видимое дерево (которое я уже знаю, как это сделать).

Есть ли примеры, которые я пропустил? Мне действительно понадобилось полдня, просто изучая, я не могу найти его.

спасибо.

ответ

0
ModuleDeclaration.traverse(new ASTVisitor() { 

}); 
+0

Я знаю, как создать экземпляр ASTVisitor в декларации модуля. Мой вопрос заключается в том, как пройти его с помощью ASTVisitor. Я использую запрос-источник источника. – grassJava

+0

Если вы запускаете .traverse на ModuleDeclaration или любой другой ASTNode, ваш узел автоматически выполняет посещение, посещает (ClassName s) иVisit (ClassName s) ets .. И также всегда посещает General.See, как выглядеть .Трестовая реализация на каждом ASTNode. ASTNode выберет дочерние элементы, если вы разрешите (верните true при посещении (* s)) – zulus

+0

Да, это мой вопрос. Кажется, я не могу найти примеры того, как сам пользователь ASTNode реализован. – grassJava

 Смежные вопросы

  • Нет связанных вопросов^_^