PDF de programación - Bison GNU

Imágen de pdf Bison GNU

Bison GNUgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 23 de Enero del 2018)
1.018 visualizaciones desde el 23 de Enero del 2018
234,9 KB
85 paginas
Creado hace 21a (09/09/2002)
Bison 1.27

Página 1 de 85

Bison
El Generador de Analizadores Sintácticos compatible con
YACC.
12 Febrero 1999, Bison Versión 1.27
por Charles Donnelly y Richard Stallman

Table of Contents

! Introducción
! Conditions for Using Bison
! Condiciones para el uso de Bison
! GNU GENERAL PUBLIC LICENSE

" Preamble
" TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND

MODIFICATION

" How to Apply These Terms to Your New Programs

! LICENCIA PÚBLICA GENERAL GNU

" Preámbulo
" TÉRMINOS Y CONDICIONES PARA LA COPIA, DISTRIBUCIÓN Y

MODIFICACIÓN

! Los Conceptos de Bison

" Cómo aplicar estos términos a sus nuevos programas.

" Lenguajes y Gramáticas independientes del Contexto
" De las Reglas Formales a la Entrada de Bison
" Valores Semánticos
" Acciones Semánticas
" La Salida de Bison: el Archivo del Analizador
" Etapas en el Uso de Bison
" El Formato Global de una Gramática de Bison

! Ejemplos

" Calculadora de Notación Polaca Inversa

# Declaraciones para rpcalc
# Reglas Gramaticales para rpcalc

# Explicación para input
# Explicación para line
# Explicación para expr

# El Analizador Léxico de rpcalc
# La Función de Control
# La Rutina de Informe de Errores
# Ejecutando Bison para Hacer el Analizador
# Compilando el Archivo del Analizador

http://lucas.hispalinux.es/Manuales-LuCAS/BISON/bison-es-1.27.html

09/09/02

Bison 1.27

Página 2 de 85

" Calculadora de Notación Infija: calc
" Recuperación de Errores Simple
" Calculadora Multi-Función: mfcalc

# Declaraciones para mfcalc
# Reglas Gramaticales para mfcalc
# La Tabla de Símbolos de mfcalc

" Ejercicios

! Archivos de Gramática de Bison

" Resumen de una Gramática de Bison

# La Sección de Declaraciones en C
# La Sección de Declaraciones de Bison
# La Sección de Reglas Gramaticales
# La Sección de Código C Adicional

" Símbolos, Terminales y No Terminales
" Sintaxis de las Reglas Gramaticales
" Reglas Recursivas
" Definiendo la Semántica del Lenguaje

" Declaraciones de Bison

# Tipos de Datos para Valores Semánticos
# Más de Un Tipo de Valor
# Acciones
# Tipos de Datos de Valores en Acciones
# Acciones a Media Regla

# Nombres de Tipo de Token
# Precedencia de Operadores
# La Colección de Tipos de Valores
# Símbolos No Terminales
# Suprimiendo Advertencias de Conflictos
# El Símbolo de Arranque
# Un Analizador Puro (Reentrante)
# Sumario de Declaraciones de Bison

" Múltiples Analizadores en el Mismo Programa

! Interfaz del Analizador en Lenguaje C

" La Función del Analizador yyparse
" La Funcion del Analizador Léxico yylex
# Convención de Llamada para yylex
# Valores Semánticos de los Tokens
# Posiciones en el Texto de los Tokens
# Convenciones de Llamada para Analizadores Puros

" La Función de Informe de Errores yyerror
" Propiedades Especiales para su Uso en Acciones

! El Algoritmo del Analizador de Bison

" Tokens de Preanálisis
" Conflictos de Desplazamiento/Reducción
" Precedencia de Operadores

# Cuándo se Necesita la Precedencia
# Especificando Precedencia de Operadores
# Ejemplos de Precedencia
# Cómo Funciona la Precedencia
" Precedencia Dependiente del Contexto

http://lucas.hispalinux.es/Manuales-LuCAS/BISON/bison-es-1.27.html

09/09/02

Bison 1.27

Página 3 de 85

" Estados del Analizador
" Conflictos de Reducción/Reducción
" Conflictos Misteriosos de Reducción/Reducción
" Desbordamiento de Pila, y Cómo Evitarlo

! Recuperación de Errores
! Manejando Dependencias del Contexto

" Información Semántica en Tipos de Tokens
" Ligaduras Léxicas
" Ligaduras Léxicas y Recuperación de Errores

! Depurando Su Analizador
! Invocando a Bison

" Opciones de Bison
" Clave Cruzada de Opciones
" Invocando Bison bajo VMS

! Símbolos de Bison
! Glosario
! Índice

Introducción
Bison es un generador de analizadores sintácticos de propósito general que convierte una descripción
gramatical para una gramática independiente del contexto LALR(1) en un programa en C que analice
esa gramática. Una vez que sea un experimentado en Bison, podría utilizarlo para desarollar un
amplio rango de analizadores de lenguajes, desde aquellos usados en simples calculadoras de
escritorio hasta complejos lenguajes de programación.

Bison es compatible hacia arriba con Yacc: todas la gramáticas escritas apropiadamente para Yacc
deberían funcionar con Bison sin ningún cambio. Cualquiera que esté familiarizado con Yacc debería
ser capaz de utilizar Bison con pocos problemas. Necesita ser fluente programando en C para poder
utilizar Bison o para comprender este manual.

Comenzaremos con capítulos introductorios que explican los conceptos básicos del uso de Bison y
muestran tres ejemplos comentados, cada uno construido sobre el anterior. Si no conoce Bison o
Yacc, comience leyendo estos capítulos. A continuación se encuentran los capítulos de referencia que
describen los aspectos específicos de Bison en detalle.

Bison fue escrito originalmente por Robert Corbett; Richard Stallman lo hizo compatible con Yacc.
Wilfred Hansen de la Universidad de Carnegie Mellon añadió los literales de cadenas multicaracter y
otras características.

Esta edición corresponde a la versión 1.27 de Bison.

Nota: las secciones tituladas "Licencia Pública General GNU", "Condiciones para el uso de Bison" y
el aviso de permiso son traducciones libres de las secciones originales en inglés "GNU General
Public License", "Conditions for Using Bison" y el permiso original. Ninguna de estas traducciones
ha sido aprobada por la Free Software Foundation oficialmente y se han incluído solamente para
facilitar su entendimiento. Si desea estar seguro de si sus actuaciones están permitidas, por favor

http://lucas.hispalinux.es/Manuales-LuCAS/BISON/bison-es-1.27.html

09/09/02

Bison 1.27

Página 4 de 85

acuda a la versión original inglesa.

La Free Software Foundation recomienda fervientemente no usar estas traducciones como los
términos oficiales de distribución para sus programas; en su lugar, por favor use las versiones
inglesas originales, tal y como están publicadas por la Free Software Foundation.

@language=@ingles

Conditions for Using Bison

As of Bison version 1.24, we have changed the distribution terms for yyparse to permit using Bison's
output in non-free programs. Formerly, Bison parsers could be used only in programs that were free
software.

The other GNU programming tools, such as the GNU C compiler, have never had such a
requirement. They could always be used for non-free software. The reason Bison was different was
not due to a special policy decision; it resulted from applying the usual General Public License to all
of the Bison source code.

The output of the Bison utility--the Bison parser file--contains a verbatim copy of a sizable piece of
Bison, which is the code for the yyparse function. (The actions from your grammar are inserted into
this function at one point, but the rest of the function is not changed.) When we applied the GPL
terms to the code for yyparse, the effect was to restrict the use of Bison output to free software.

We didn't change the terms because of sympathy for people who want to make software proprietary.
Software should be free. But we concluded that limiting Bison's use to free software was doing little
to encourage people to make other software free. So we decided to make the practical conditions for
using Bison match the practical conditions for using the other GNU tools. @language=@espanol

Condiciones para el uso de Bison

Al igual que en la versión 1.24 de Bison, hemos cambiado los términos de la distribución de yyparse
para permitir el uso de la salida de Bison en programas no-libres. En otro tiempo, los analizadores
generados por Bison solamente podían utilizarse en programas que fuesen software libre.

Las otras herramientas GNU de programación, tales como el compilador de C GNU, nunca han
tenido tal tipo de requisito. Estas herramientas siempre podían utilizarse para software no-libre. La
razón de que con Bison fuera diferente no fue debido a una decisión política especial; ello resultó de
la aplicación de la Licencia Pública General usual a todo el código fuente de Bison.

La salida de la utilidad Bison--el archivo del analizador de Bison--contiene una copia literal de un
considerable fragmento de Bison, que es el código para la función yyparse. (Las acciones de tu
gramática se insertan dentro de esta función en un punto, pero el resto de la función no se modifica.)
Cuando aplicamos los términos de la GPL al código fuente para yyparse, el efecto fue la restricción
del uso de la salida de Bison en software libre.

No cambiamos los términos debido a simpatía con la gente que quiere hacer software propietario. El

http://lucas.hispalinux.es/Manuales-LuCAS/BISON/bison-es-1.27.html

09/09/02

Bison 1.27

Página 5 de 85

software debería ser libre. Pero hemos concluido que limitando el uso de Bison en software libre
era hacer poco por alentar a la gente a hacer otro software libre. Así que hemos decidido hacer que
concuerden las condiciones prácticas para el uso de Bison con las condiciones prácticas para usar las
otras utilidades GNU.

GNU GENERAL PUBLIC LICENSE

@language=@ingles Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble
The licenses for most software are designed to take away your freedom to share and change it. By
contrast, the GNU General Public License is intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users. This General Public License applies
to most of the Free Software Foundation's software and to any other program whose authors commit
to using it. (Some other Free Software Foundation software is covered by the GNU
  • Links de descarga
http://lwp-l.com/pdf8444

Comentarios de: Bison GNU (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad