Я люблю статический анализ и проверки во время компиляции, почти до отказа, но большую часть моей повседневной работы в Objective-C. Чтобы разрешить это противоречие, я хотел бы иметь возможность написать свои собственные инструменты анализа, которые я мог бы использовать в своих проектах Objective-C.
Но поиск в Интернете подсказывает, что людям трудно составить полную цель -C грамматика. Один сайт в основном рекомендует сдаться.
Я нашел грамматику на сайте ANTLR , но когда я его запустил, я не смог заставить его вообще что-либо разбирать . Например, он ответил на строку:
void x();
с помощью src / main / resources / somecode.m строка 1: 0 нет жизнеспособной альтернативы на входе 'void'
: (
Я внимательно изучил в грамматике и обнаружил следующий обескураживающий отказ от ответственности:
it's a work in progress, most of the .h file can be parsed
Но мне нужно что-то, что может анализировать как интерфейс, так и реализацию.
Есть ли где-нибудь полная грамматика Objective-C 2.0? Я бы предпочел что-то, что может работать с Scala (так что все, что совместимо с Java, например ANTLR, было бы идеально), но на этом этапе я хотел бы адаптировать что-то, разработанное для другого инструментария парсера.