Tengo un gran archivo C (~ 100k líneas) que necesito poder analizar. Principalmente necesito poder obtener detalles sobre los campos individuales de cada estructura (como el nombre de campo y el tipo para cada campo en la estructura) desde su definición. ¿Hay alguna forma buena (código abierto, que pueda usar en mi código) de hacer esto? O debería escribir mi propio analizador para esto. Si tengo que escribir el mío, ¿alguien puede sugerir un buen lugar para comenzar? Nunca he trabajado con Python antes.analizando el código C usando python
Gracias
¿Se puede publicar una muestra? ¿Necesitas probar un compilador de C (y soportar uniones, estructuras dentro de estructuras, typedefs, el preprocesador, etc. o simplemente obtener datos de estructuras simples? Algo me dice que este archivo C debe ser JSON, CSV, una base de datos , u otro formato de * datos *, no un archivo de CLOC de 100k ... –
... y es probable que tampoco haya escrito un analizador de C anteriormente. No quiere hacerlo usted mismo; C es mucho más complicado de lo que piensas que es: macros, condicionales del preprocesador, incluye, sintaxis ambigua, sintaxis específica del vendedor, construcción de tabla de símbolos, ... Encuentra un analizador de C existente que ha tenido una validación extensa y usa eso, incluso si el analizador de C no está implementado en Python. Si quieres usar Python para procesar los resultados, está bien, pero no confundas a Python con la solución ["Nunca trabajé con Python antes" no es una buena señal de que esa forma te lleve al éxito.] –
... Sugiero que considere GCCXML, que contiene un analizador C y exporta el tipo de los datos que desea como XML. –