Я искал высоко и низко и, похоже, не нашел ответа или каких-либо примеров.Java ASTNode Посетитель для парсинга RUBY DLTK
Я использую Java рубиновый DLTK
Я хочу, чтобы разобрать строку, которая имеет рубиновый исходный код (.rb файл). Я использую его таким образом:
JRubySourceParser jRubyParser = new JRubySourceParser();
ModuleDeclaration result = jRubyParser.parse(getSampleStr());
ASTNode parent = result.getChilds().get(0)
Теперь я застрял. Я не знаю, как пройти через ASTNode с помощью посетителя. Я не хочу использовать getChild.
Конечная цель состоит в том, чтобы получить все имена методов, классы, потребовать файлы, включить файлы и превратить их в видимое дерево (которое я уже знаю, как это сделать).
Есть ли примеры, которые я пропустил? Мне действительно понадобилось полдня, просто изучая, я не могу найти его.
спасибо.
Я знаю, как создать экземпляр ASTVisitor в декларации модуля. Мой вопрос заключается в том, как пройти его с помощью ASTVisitor. Я использую запрос-источник источника. – grassJava
Если вы запускаете .traverse на ModuleDeclaration или любой другой ASTNode, ваш узел автоматически выполняет посещение, посещает (ClassName s) иVisit (ClassName s) ets .. И также всегда посещает General.See, как выглядеть .Трестовая реализация на каждом ASTNode. ASTNode выберет дочерние элементы, если вы разрешите (верните true при посещении (* s)) – zulus
Да, это мой вопрос. Кажется, я не могу найти примеры того, как сам пользователь ASTNode реализован. – grassJava