Как создать анализатор Java ANTLR для языка Swift? - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь сделать AST из источников Swift на Java.Я также использую Windows

Что я сделал:

  1. Скачано antlr-4.7.1-complete.jar
  2. Добавлен в classpath
  3. Созданы файлы grun.bat и antlr4.bat, добавил их в PATH
  4. Скачано https://github.com/antlr/grammars-v4/blob/master/swift3/Swift3.g4
  5. Ран antlr4 -Dlanguage=Java Swift3.g4
  6. Парсер создал несколько файлов (включая источники Java)
  7. Ibuild antlr4-runtime-4.7.2-SNAPSHOT.jar с использованием этих инструкций https://github.com/antlr/antlr4/blob/master/doc/building-antlr.md

Но теперь я не понимаю, что мне делать с https://github.com/antlr/grammars-v4/blob/master/swift3/src/main/java/SwiftSupport.java, который также является частью грамматики Swift.Что мне делать с созданными файлами?Просто добавьте их в мои источники, определите package и работа сделана?Я также вижу, что ANTLR генерирует только токены. Должен ли я сам создавать AST?Спасибо!

1 Ответ

0 голосов
/ 23 мая 2018

Похоже, я все сделал хорошо, теперь я могу анализировать файлы Swift с кодом

Swift3Lexer swiftLexer = new Swift3Lexer(CharStreams.fromFileName(file.getAbsolutePath()));
CommonTokenStream commonTokenStream = new CommonTokenStream(swiftLexer);
Swift3Parser swiftParser = new Swift3Parser(commonTokenStream);

Top_levelContext topLevel = swiftParser.top_level(); // it works
...