2010-02-24 11 views

Respuesta

2

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.

+3

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. –

+0

@Andre: cualquier comentario constructivo que pueda hacer es bienvenido; siempre estamos interesados ​​en mejorar Por favor envíe un correo a "[email protected]". –

+0

¿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

Cuestiones relacionadas