Red de conocimiento informático - Material del sitio web - Cómo mejorar el entorno de edición de Bison bajo flex ampVC

Cómo mejorar el entorno de edición de Bison bajo flex ampVC

1. Asigne un nombre al archivo de entrada flexible con un sufijo. cpp, pero excluye esto. El archivo cpp compilado a partir del proyecto facilita la escritura de código C/C en el archivo de entrada flexible. Al mismo tiempo, no se informará ningún error durante la compilación.

2. Si desea que los archivos de encabezado y los archivos fuente generados por flex tengan sus propios nombres, también es muy simple. Puede especificar el nombre de archivo deseado usando la siguiente opción en el archivo de entrada de Flex:

[cpp]? ¿Ver texto sin formato

/*?¿Archivo de salida con nombre propio? */

¿Opción? outfile="Lexer.cpp"? HEADER-FILE="Lexer.h "

Con la configuración anterior, el archivo fuente generado por flex es Lexer.cpp y el nombre del archivo de encabezado es Lexer.h

Del mismo modo, También hacemos algunos ajustes.

3. El archivo de entrada de bison se denomina sufijo. cpp pero esto. Los archivos cpp se excluyen de la compilación del proyecto para poder escribir código C/C en archivos de entrada flexibles. Al mismo tiempo, no se informará ningún error durante la compilación.

4. Si desea que los archivos de encabezado y los archivos fuente generados por bison tengan sus propios nombres, también es muy simple. Puede especificar el nombre de archivo deseado utilizando la siguiente opción en el archivo de entrada de bison:

[cpp]? Ver texto sin formato

//Usar declaración de marco c

¿Esqueleto? ¿"lalr1.cc"?

¿Solicitar? "2.4.1"

//¿Cambiar el nombre del analizador? ¿clase? Nombre

¿Definición? " Parser.h "

¿Definición? analizador_nombre_clase? "Parser"

Con la configuración anterior, el archivo fuente generado por bison es Parser.tab.cpp y el nombre del archivo de encabezado es Parser.h. Preste atención al código del nombre del archivo fuente. pestaña, no se puede eliminar, pero no importa, porque no habrá un archivo que contenga el archivo cpp.

La captura de pantalla final permite que nuestros archivos de entrada flex y bison se editen en archivos C/C, con funciones como salto rápido, finalización automática de asociaciones y reconstrucción simple.

Ya no tendrás que preocuparte por recordar definiciones de tipos.

Como puede ver, los archivos de entrada Lex.cpp y Parser.cpp de flex y bison en el proyecto se agregan al proyecto, pero no participan en la compilación. Esto se debe a que hicimos lo siguiente:

Haga clic derecho en el archivo fuente>Propiedades>Configurar propiedades>General>Excluir>Seleccione "Sí"

Puede evitar que un archivo sea compilado.

Por cierto, la misma configuración también se puede lograr en la información sobre fuentes. Si eres lo suficientemente bueno, puedes incluso conectar $$ y $1 con pasos personalizados para poder identificar las marcas únicas del bisonte.