Me encanta el análisis estático y las comprobaciones en tiempo de compilación, casi como una falla, pero la mayor parte de mi trabajo diario está en Objective-C. Para resolver esta tensión, me gustaría poder escribir mis propias herramientas de análisis que puedo ejecutar en mis proyectos de Objective-C.Análisis del código Objective-C para análisis estático
Pero buscar en Google sugiere que las personas tienen dificultades para armar una gramática completa de Objective-C. One site básicamente recomienda darse por vencido.
Encontré una gramática on the ANTLR website, pero cuando la encendí, no conseguí analizar nada. Por ejemplo, se respondió a la línea:
void x();
con src/main/resources/somecode.m line 1:0 no viable alternative at input 'void'
:(
Me tomó un vistazo más de cerca a la gramática y encontré la siguiente renuncia desalentador:
it's a work in progress, most of the .h file can be parsed
Pero necesito algo que pueda analizar tanto la interfaz como la implementación.
¿Hay alguna gramática completa de Objective-C 2.0 en alguna parte? Prefiero algo que pueda funcionar con Scala (así que cualquier cosa compatible con Java, como ANTLR, sería perfecto), pero en este punto estaría dispuesto a adaptar algo diseñado para otro paquete de herramientas de analizador.
gcc puede compilar los programas de Objective-C (suponiendo que no esté utilizando la API de Apple), por lo que debería haber una gramática en alguna parte de la fuente de gcc, ¿no es así? - Oh, veo que tu primer enlace habla de eso. – JAB