Bison - Símbolos de Bison

15 - Símbolos de Bison

[editar]
Tutorial creado por Charles Donnelly y Richard Stallman. Extraido de: http://es.tldp.org/Manuales-LuCAS/guides/bison-guide/bison-es-1.27.html
01 de Marzo de 2006
error Un nombre de token reservado para la recuperación de errores. Este token puede ser utilizado en reglas gramaticales para permitir al analizador de Bison reconocer un error en la gramática sin parar el proceso. En efecto, una sentencia conteniendo un error podría reconocerse como válida. Ante un error de análisis, el token error llega a ser el token de preanálisis actual. Las acciones correspondientes a error se ejecutan entonces, y el token de preanálisis se reestablace al token que originalmente provocó la violación. See section Recuperación de Errores. YYABORT Macro que pretende que haya ocurrido un error de sintaxis no recuperable haciendo que yyparse devuelva un 1 inmediatamente. La función de informe de errores yyerror no se llama. See section La Función del Analizador yyparse. YYACCEPT Macro que pretende que una expresión completa del lenguaje haya sido leida, haciendo que yyparse devuelva un 0 inmediatamente. See section La Función del Analizador yyparse. YYBACKUP Macro para descartar un valor de la pila del analizador y falsificar un token de preanálisis. See section Propiedades Especiales para su Uso en Acciones. YYERROR Macro que pretende que un error de sintaxis se haya acabado de detectar: llama a yyerror y entonces realiza una recuperación de errores normal si es posible (see section Recuperación de Errores), o (si la recuperación es imposible) hace que yyparse devuelva un 1. See section Recuperación de Errores. YYERROR_VERBOSE Macro que usted define con #define en la sección de declaraciones de Bison para solicitar cadenas de mensajes de errores amplias, específicas cuando se llame a yyerror. YYINITDEPTH Macro para especificar el tamaño inicial de la pila del analizador. See section Desbordamiento de Pila, y Cómo Evitarlo. YYLEX_PARAM Macro para especificar un argumento extra (o lista de argumentos extra) para que yyparse los pase a yylex. See section Convenciones de Llamada para Analizadores Puros. YYLTYPE Macro para el tipo de datos yylloc; una estructura con cuatro componentes. See section Posiciones en el Texto de los Tokens. yyltype Valor por defecto para YYLTYPE. YYMAXDEPTH Macro para especificar el tamaño máximo de la pila del analizador. See section Desbordamiento de Pila, y Cómo Evitarlo. YYPARSE_PARAM Macro para especificar el nombre de un parámetro que yyparse debería aceptar. See section Convenciones de Llamada para Analizadores Puros. YYRECOVERING Macro cuyo valor indica si el analizador se está recuperando de un error de sintaxis. See section Propiedades Especiales para su Uso en Acciones. YYSTYPE Macro para el tipo de datos de los valores semánticos; int por defecto. See section Tipos de Datos para Valores Semánticos. yychar Variable entera externa que contiene el valor entero del token actual de preanálisis. (En un analizador puro, es una variable local dentro de yyparse.) Las acciones de las reglas de recuperación de errores podrían examinar esta variable. See section Propiedades Especiales para su Uso en Acciones. yyclearin Macro utilizada en acciones de reglas de recuperación de errores. Esta borra el anterior token de preanálisis. See section Recuperación de Errores. yydebug Variable entera externa puesta a cero por defecto. Si se le da a yydebug un valor distinto de cero, el analizador sacará información a cerca de los símbolos de entrada y acciones del analizador. See section Depurando Su Analizador. yyerrok Macro que provoca al analizador recuperar su modo normal inmediatamente después de un error de análisis. See section Recuperación de Errores. yyerror Función facilitada por el usuario para ser llamada por yyparse ante un error. La función recibe un argumento, un puntero a una cadena de caracteres conteniendo un mensaje de error. See section La Función de Informe de Errores yyerror. yylex Función del analizador léxico facilitada por el usuario, llamada sin argumentos para obtener el siguiente token. See section La Funcion del Analizador Léxico yylex. yylval Variable externa en la que yylex debería poner el valor semántico asociado con un token. (En un analizador puro, es una variable local dentro de yyparse, y su dirección se le pasa a yylex.) See section Valores Semánticos de los Tokens. yylloc Variable externa en la que yylex debería poner el número de línea y columna asociado a un token. (En un analizador puro, es una variable local dentro de yyparse, y su dirección se le pasa a yylex.) Puede ignorar esta variable si no utiliza la propiedad `@' en las acciones gramaticales. See section Posiciones en el Texto de los Tokens. yynerrs Variable global que Bison incrementa cada vez que hay un error de análisis. (En un analizador puro, es una variable local dentro de yyparse.) See section La Función de Informe de Errores yyerror. yyparse La función del analizador producida por Bison; llame a esta función para comenzar el análisis. See section La Función del Analizador yyparse. %left Declaración de Bison para asignar asociatividad por la izquierda a un(varios) token(s). See section Precedencia de Operadores. %no_lines Declaración de Bison para evitar la generación de directivas #line en el fichero del analizador. See section Sumario de Declaraciones de Bison. %nonassoc Declaración de Bison para asignar no-asociatividad a un(varios) token(s). See section Precedencia de Operadores. %prec Declaración de Bison para asignar precedencia a una regla específica. See section Precedencia Dependiente del Contexto. %pure_parser Declaración de Bison para solicitar un analizador puro (reentrante). See section Un Analizador Puro (Reentrante). %raw Declaración de Bison para usar los números de código de token internos a Bison en las tablas de tokens en lugar de los números de código de tokens usuales compatibles con Yacc. See section Sumario de Declaraciones de Bison. %right Declaración de Bison para asignar asociatividad por la derecha a un(varios) token(s). See section Precedencia de Operadores. %start Declaraciones de Bison para especificar el símbolo de arranque. See section El Símbolo de Arranque. %token Declaración de Bison para declarar un(varios) token(s) sin especificar la precedencia. See section Nombres de Tipo de Token. %token_table Declaración de Bison para incluir una tabla de nombres de tokens en el archivo del analizador. See section Sumario de Declaraciones de Bison. %type Declaración de Bison para declarar no-terminales. See section Símbolos No Terminales. %union Declaración de Bison para especificar varios tipos de datos posibles para los valores semánticos. See section La Colección de Tipos de Valores.

Estos son los puntuadores y delimitadores utilizados en la entrada de Bison:

`%%' Delimitador utilizado para separar la sección de reglas gramaticales de la sección de declaraciones de Bison o la sección de código adicional en C. See section El Formato Global de una Gramática de Bison. `%{ %}' Todo el código listado entre `%{' y `%}' se copia directamente al archivo de salida sin ser interpretado. Este código forma la sección de "declaraciones en C" del archivo de entrada. See section Resumen de una Gramática de Bison. `/*...*/' Delimitadores de comentarios, como en C. `:' Separa el resultado de una regla de sus componentes. See section Sintaxis de las Reglas Gramaticales. `;' Finaliza una regla. See section Sintaxis de las Reglas Gramaticales. `|' Separa reglas alternativas para el mismo no-terminal resultante. See section Sintaxis de las Reglas Gramaticales.
[editar]

2 opiniones

BISON

HHHH
Bison.

Esta bueno.

Tutoriales relacionados con 'Bison'

Este documento proporciona una información básica sobre el sistema operativo Linux, incluyendo una explicación de... Más »

Autor y licencia de 'Bison'


Tutorial de Charles Donnelly y Richard Stallman. Extraido de: http://es.tldp.org/Manuales-LuCAS/guides/bison-guide/bison-es-1.27.html CopyLeft
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.