bison comando es un reemplazo para el yacc . Es básicamente un generador de parser similar a yacc . Los archivos de entrada deben seguir la convención yacc de terminar en formato .y . Similar a yacc , los archivos generados no tienen nombres fijos, sino que usan el prefijo del archivo de entrada. Además, si necesita poner código C++ en el archivo de entrada, puede terminar su nombre con una extensión similar a C++ como .ypp o .y++ , luego bison seguirá su extensión para nombrar el archivo de salida como .cpp o .c++ .
Sintaxis:
bison [OPTION]... FILE
Modos de operación:
- -h, –help : Muestra esta ayuda y sale.
- -V, –version : Muestra información de la versión y sale.
- –print-localedir: muestra el directorio que contiene datos dependientes de la configuración regional.
- –print-datadir : muestra el directorio que contiene esqueletos y XSLT.
- -y, –yacc : Emula POSIX Yacc.
- -W, –warnings[=CATEGORÍA] : Reporta las advertencias que caen en CATEGORÍA.
- -f, –feature[=FEATURE] : Activa funciones misceláneas.
Analizador:
- -L, –language=LANGUAGE : Especifica el lenguaje de programación de salida.
- -S, –skeleton=FILE : Especifica el esqueleto a utilizar.
- -t, –debug : Instrumenta el analizador para rastrear igual que ‘-Dparse.trace’.
- –ubicaciones: Habilita el soporte de ubicación.
- -D, –define=NOMBRE[=VALOR]: Es similar a ‘%define NOMBRE “VALOR”’.
- -F, –force-define=NOMBRE[=VALOR] : Anula ‘%define NOMBRE “VALOR”’.
- -p, –name-prefix=PREFIX : Antepone PREFIJO a los símbolos externos obsoletos por ‘-Dapi.prefix=PREFIX’.
- -l, –no-lines : No genera directivas ‘#line’.
- -k, –token-table : Incluye una tabla de nombres de tokens.
Producción:
- –defines[=FILE] : También produce un archivo de encabezado.
- -d : Es similar pero no puede especificar ARCHIVO (para POSIX Yacc).
- -r, –report=THINGS : También produce detalles sobre el autómata.
- –report-file=FILE : Escribe el informe en el ARCHIVO.
- -v, –verbose : Lo mismo que ‘–report=state’.
- -b, –file-prefix=PREFIX : Especifica un PREFIJO para los archivos de salida.
- -o, –output=FILE : Deja la salida en FILE.
- -g, –graph[=FILE] : También genera un gráfico del autómata.
- -x, –xml[=ARCHIVO]: También genera un informe XML del autómata (el esquema XML es experimental).
Ejemplo:
- bison: Por ejemplo, el archivo de gramática bison llamado file.y . De forma predeterminada, bison creará el archivo de salida con el mismo nombre que el archivo de entrada, con .tab adjunto al nombre.
bison file.y
- -y: Emula POSIX Yacc, es decir, crea el nombre del archivo de salida usando la convención típica de yacc (y.tab.c), en lugar de y.tab.cpp de bison.
bison -y file1.ypp
- –defines: Se utiliza para generar un archivo de encabezado junto con el archivo .c (o .cpp) .
bison --defines file.y
- -p: se usa para agregar un prefijo personalizado propio a los símbolos externos.
bison -p FILE file.y
- -r: Se utiliza para generar un archivo de informe. El nombre de archivo de informe predeterminado es file.output
bison -r all file.y
- -V: Muestra la información de la versión de bisonte.
bison -V
- –print-localedir: muestra el directorio que contiene datos dependientes de la configuración regional.
bison --print-localedir
- –print-datadir: muestra el directorio que contiene esqueletos y XSLT.
bison --print-datadir
- -x: Muestra un reporte XML del autómata (el esquema XML es experimental).
bison -x file.y
- -g: Muestra una gráfica de la automatización.
bison -g file.y
Nota:
- Para verificar la página del manual del comando bison, use el siguiente comando:
man bison
- Para verificar la página de ayuda del comando bison, use el siguiente comando:
bison --help
Publicación traducida automáticamente
Artículo escrito por Mandeep_Sheoran y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA