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