Использовать синтаксический анализ файла заголовка Objective-C для Anltr4 - PullRequest
0 голосов
/ 25 июня 2019

Я хочу проанализировать заголовочный файл Objective-C. Я использую Clang для создания AST, а затем анализирую ast. Чтобы получить Ast, мне нужно создать код, и я не хочу этого делать.

Сегодня я нахожу Anltr4. Не нужно строить код. И я следую Приступая к работе с ANTLR v4. Я запускаю пример Hello.g4, и это нормально. Но когда я использую objc g4 в grammars-v4, возникают некоторые ошибки.

То, что я сделал, это: 1. Git клон грамматики-v4 2. CD-грамматики-v4 / objc 3. Перейдите ./ObjectiveCParser.g4 к двухэтапной обработке (потому что я не знаю, почему так много .g4) 4. CD двухступенчатая обработка 5. antlr4 ObjectiveCPreprocessorLexer.g4 \ antlr4 ObjectiveCPreprocessorParser.g4 \ antlr4 ObjectiveCLexer.g4 \ antlr4 ObjectiveCParser.g4 6. Цель javac .java 7. Я обнаружил некоторые ошибки: сообщение об ошибке: Ошибка: не удается найти символ \ ошибка: пакет ObjectiveCPreprocessorParser не существует

ObjectiveCPreprocessor.java:12: 错误: 找不到符号
public class ObjectiveCPreprocessor extends ObjectiveCPreprocessorParserBaseVisitor<String> {
                                            ^
  符号: 类 ObjectiveCPreprocessorParserBaseVisitor
ObjectiveCPreprocessor.java:26: 错误: 程序包ObjectiveCPreprocessorParser不存在
    public String visitObjectiveCDocument(ObjectiveCPreprocessorParser.ObjectiveCDocumentContext ctx) {
                                                                      ^
ObjectiveCPreprocessor.java:35: 错误: 程序包ObjectiveCPreprocessorParser不存在
    public String visitText(ObjectiveCPreprocessorParser.TextContext context)
                                                        ^
ObjectiveCPreprocessor.java:57: 错误: 程序包ObjectiveCPreprocessorParser不存在
    public String visitPreprocessorImport(ObjectiveCPreprocessorParser.PreprocessorImportContext context)
                                                                      ^
ObjectiveCPreprocessor.java:63: 错误: 程序包ObjectiveCPreprocessorParser不存在
    public String visitPreprocessorConditional(ObjectiveCPreprocessorParser.PreprocessorConditionalContext context)

Кажется, путь к классу - это ошибка. Но я не знаю почему.

И я пытаюсь сделать это на Swift3. Такая же ошибка случается.

Я клонирую репозиторий Antlr4 и не могу найти ObjectiveCPreprocessorParser。

...