Los analizadores de C++ son difícil de construir.
No puedo hablar con experiencia sobre usando gramáticas C++ de ANTLR. Here I discuss lo que aprendí leyendo las notas adjuntas al que vi en el sitio de ANTLR; en esencia, el autor produjo una gramática incompleta. Y eso fue solo para C++ 98. Ha pasado un tiempo desde que miré; puede haber otros.
Nuestra DMS Software Reengineering Toolkit tiene un robust C++ front end.
El analizador léxico se encarga de toda la costra de ANSI, gcc3, MS Visual Studio 2008, incluidos los números de punto flotante de gran precisión, etc.
[EDIT: 12/2011. Ahora maneja las directivas C++ 11 y OpenMP]
[EDIT: 3/2015: Ahora maneja C++ 14 en las dos variantes de GCC y MS. See some parse trees here on SO]
Tener "solo" un analizador no es muy útil. Más allá de "solo analizar", nuestra interfaz creará AST, creará tablas de símbolos precisas (para C++, esto es extremadamente difícil de hacer), realizará un análisis de flujo de función local y le permitirá realizar transformaciones de programa, etc. Life After Parsing.
Revisé su sitio web, parece que tiene algunas herramientas geniales a precios razonables, pero su sitio web podría funcionar con un poco de trabajo tanto en estructura como en apariencia. –
@Andre: cualquier comentario constructivo que pueda hacer es bienvenido; siempre estamos interesados en mejorar Por favor envíe un correo a "[email protected]". –
¿Cómo se compara su proyecto con, por ejemplo, [Clang] (http://clang.llvm.org/), que hace todo lo que dice, de forma gratuita? Estoy bromeando, pero aún así, ¡estoy interesado en tu respuesta! – rubenvb