Я хочу проанализировать заголовочный файл 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。