我正在尝试用Java制作Swift源码的AST。我也使用Windows
我做了什么:
antlr-4.7.1-complete.jar
grun.bat
和antlr4.bat
,将其添加到PATH antlr4 -Dlanguage=Java Swift3.g4
antlr4-runtime-4.7.2-SNAPSHOT.jar
醇>
但现在我不明白我应该怎样处理https://github.com/antlr/grammars-v4/blob/master/swift3/src/main/java/SwiftSupport.java,这也是Swift语法的一部分。我该怎么处理生成的文件?只需将它们添加到我的来源,定义package
并完成工作?我也看到ANTLR只生成令牌,我是否必须自己构建AST?谢谢!
答案 0 :(得分:0)
看起来我做的一切都很好,现在我可以使用代码解析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