Разбор кода Objective-C для статического анализа

Я люблю статический анализ и проверки во время компиляции, почти до отказа, но большую часть моей повседневной работы в 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, было бы идеально), но на этом этапе я хотел бы адаптировать что-то, разработанное для другого инструментария парсера.

19
задан Bill 22 July 2011 в 18:10
поделиться