GNU Bison, commonly known as Bison, is a parser generator that is part of the GNU Project. Bison reads a specification in the BNF notation (a context-free language), warns about any parsing ambiguities, and generates a parser that reads sequences of tokens and decides whether the sequence conforms to the syntax specified by the grammar. The generated parsers are portable: they do not require any specific compilers. Bison by default generates LALR(1) parsers but it can also generate canonical LR, IELR(1) and GLR parsers. In POSIX mode, Bison is compatible with Yacc, but also has several extensions over this earlier program, including Generation of counterexamples for conflicts Location tracking (e.g., file, line, column) Rich and internationalizable syntax error messages in the generated parsers Customizable syntax error generation, Reentrant parsers Push parsers, with autocompletion Support for named references Several types of reports (graph
GNU Bison, comúnmente conocido como Bison, es un generador de parser que es parte del Proyecto GNU. Bison lee una especificación en la notación BNF (un lenguaje libre de contexto), advierte sobre cualquier ambigüedad de parsing, y genera un parser que lee secuencias de tokens y decide si la secuencia se ajusta a la sintaxis especificada por la gramática. Los parseres generados son portátiles: no requieren ningún compilador específico. Bison por defecto genera parseres LALR(1) pero también puede generar parseres canónicos LR, IELR(1) y GLR. En el modo POSIX, Bison es compatible con Yacc, pero también tiene varias extensiones sobre este programa anterior, incluyendo la Generación de contraejemplo para el seguimiento de conflictos de ubicación (por ejemplo, archivo, línea, columna Rich) y los mensajes de error de sintaxis internacionalizables en los parseres generados sintaxis personalizable, los informes de generación de errores Reaccentrant para los tipos de par