Universidad Autónoma de Occidente

COMPILADOR C CCS Y SIMULACION PROTEUS PARA MICROCONTROLADORES PIC / (Record no. 4260)

MARC details
000 -CABECERA
campo de control de longitud fija 30425 a2200265 4500
008 - DATOS DE LONGITUD FIJA--INFORMACIÓN GENERAL
campo de control de longitud fija 2008
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
International Standard Book Number 9789701513972
040 ## - FUENTE DE CATALOGACIÓN
Centro catalogador/agencia de origen GAMADERO
Lengua de catalogación spa
Centro/agencia transcriptor GAMADERO
041 ## - CÓDIGO DE IDIOMA
Código de lengua del texto/banda sonora o título independiente Español
050 00 - SIGNATURA TOPOGRÁFICA DE LA BIBLIOTECA DEL CONGRESO
Número de clasificación TJ223
Cutter P76 G37
Año 2008
100 1# - ENTRADA PRINCIPAL--NOMBRE DE PERSONA
Nombre de persona EDUARDO GARCIA BREIJO
245 00 - MENCIÓN DEL TÍTULO
Título COMPILADOR C CCS Y SIMULACION PROTEUS PARA MICROCONTROLADORES PIC /
250 ## - MENCION DE EDICION
Mención de edición 1a Edición
260 ## - PUBLICACIÓN, DISTRIBUCIÓN, ETC.
Lugar de publicación, distribución, etc. MEXICO:
Nombre del editor, distribuidor, etc. ALFAOMEGA
Fecha de publicación, distribución, etc. 2008
300 ## - DESCRIPCIÓN FÍSICA
Extensión 276 páginas
Otras características físicas Ilustración
Dimensiones 17 X 23 CM
505 ## - NOTA DE CONTENIDO CON FORMATO
Nota de contenido con formato Índice<br/>Agradecimientos .................................................................................................. XVII<br/>Prólogo ..................................................................................................................... XIX<br/>Parte I. Teoría<br/>Capítulo 1. Introducción ............................................................................................ 3<br/>1.1 Definición de compilador .................................................................... 3<br/>1.2 Estructura de un compilador .............................................................. 5<br/>1.2.1 Análisis léxico ................................................................................. 7<br/>1.2.2 Análisis sintáctico .......................................................................... 8<br/>1.2.3 Análisis semántico ......................................................................... 9<br/>1.2.4 Generación de código intermedio ............................................. 10<br/>1.2.5 Generación de código final ......................................................... 13<br/>1.2.6 Tablas de símbolos y de tipos .................................................... 13<br/>1.2.7 Manejo de errores ........................................................................ 14<br/>1.3 Fases del proceso de compilación ..................................................... 14<br/>1.4 Herramientas y descripción del lenguaje ....................................... 16<br/>Capítulo 2. Análisis léxico ...................................................................................... 17<br/>2.1 Utilidad del análisis léxico ................................................................. 17<br/>2.2 Funcionamiento .................................................................................. 18<br/>2.3 Términos utilizados ............................................................................ 21<br/>2.4 Especificación del analizador léxico ................................................. 22<br/>2.5 Construcción de un analizador léxico .............................................. 23<br/>COMPILADORES<br/>VIII<br/>2.5.1 Identificar las palabras reservadas ........................................... 23<br/>2.5.2 Construir el diagrama de transiciones ..................................... 24<br/>2.6 Ejercicios resueltos ............................................................................. 27<br/>Ejercicio 2.1 ........................................................................................... 27<br/>Ejercicio 2.2 ........................................................................................... 30<br/>Capítulo 3.Análisis sintáctico ................................................................................ 33<br/>3.1 Funciones del analizador sintáctico ................................................ 33<br/>3.2 Diseño de gramáticas ........................................................................ 35<br/>3.3 Dificultades para la creación de gramáticas ................................... 38<br/>3.3.1 La recursividad ............................................................................ 38<br/>3.3.2 La ambigüedad ............................................................................ 39<br/>3.3.3 La asociatividad .......................................................................... 40<br/>3.3.4 La precedencia ............................................................................. 41<br/>3.3.5 La parentización .......................................................................... 41<br/>3.4 Análisis sintáctico lineal .................................................................... 41<br/>3.5 Diagramas de sintaxis ....................................................................... 42<br/>3.6 Ejercicios resueltos ............................................................................. 46<br/>Ejercicio 3.1 ........................................................................................... 46<br/>Ejercicio 3.2 ........................................................................................... 47<br/>Ejercicio 3.3 ........................................................................................... 48<br/>Capítulo 4. Análisis sintáctico descendente ....................................................... 51<br/>4.1 Introducción ........................................................................................ 51<br/>4.2 Analizadores sintácticos predictivos ............................................... 54<br/>4.3 Conjuntos de predicción y gramáticas LL(1) ................................. 55<br/>4.3.1 Conjunto de primeros ................................................................. 56<br/>4.3.2 Conjunto de siguientes ............................................................... 59<br/>4.3.3 Conjunto de predicción y gramáticas LL(1) ............................ 60<br/>4.4 Conversión a gramáticas LL(1) ........................................................ 64<br/>4.4.1 Eliminación de la factorización por la izquierda .................... 65<br/>4.4.2 Eliminación de la recursividad por la izquierda .................... 66<br/>4.5 Analizadores sintácticos descendentes recursivos (ASDR) ......... 68<br/>4.6 Implementación de ASDP’s .............................................................. 68<br/>4.6.1 Construcción de la tabla de análisis ......................................... 69<br/>© Alfaomega - RC Libros<br/>ÍNDICE<br/>IX<br/>4.6.2 Algoritmo de análisis .................................................................. 71<br/>4.7 Ejercicios resueltos .............................................................................. 74<br/>Ejercicio 4.1 ............................................................................................ 74<br/>Ejercicio 4.2 ............................................................................................ 75<br/>Capítulo 5. Análisis sintáctico ascendente ........................................................... 79<br/>5.1 Introducción ........................................................................................ 79<br/>5.2 Algoritmo de desplazamiento y reducción ..................................... 80<br/>5.2.1 Acción ACEPTAR ........................................................................ 82<br/>5.2.2 Acción RECHAZAR .................................................................... 82<br/>5.2.3 Método GOTO .............................................................................. 82<br/>5.2.4 Acción REDUCIR ......................................................................... 82<br/>5.2.5 Acción DESPLAZAR ................................................................... 82<br/>5.2.6 Ejemplo de aplicación del algoritmo de desplazamiento<br/>y reducción ............................................................................................ 82<br/>5.3 Construcción de tablas de análisis sintáctico SLR .......................... 85<br/>5.3.1 Elemento ....................................................................................... 85<br/>5.3.2 Cierre o clausura .......................................................................... 86<br/>5.3.3 Operación ir_a .............................................................................. 87<br/>5.3.4 Construcción de la colección canónica de conjuntos de<br/>elementos ............................................................................................... 87<br/>5.3.5 Construcción de un autómata a partir de la colección<br/>canónica .................................................................................................. 91<br/>5.3.6 Construcción de la tabla de análisis a partir de un<br/>autómata ................................................................................................ 92<br/>5.3.7 Conflictos en las tablas SLR ........................................................ 95<br/>5.4 Organigrama de las gramáticas ........................................................ 96<br/>5.5 Ejercicios resueltos .............................................................................. 98<br/>Ejercicio 5.1 ............................................................................................ 98<br/>Ejercicio 5.2 .......................................................................................... 100<br/>Capítulo 6. Tabla de tipos y de símbolos ........................................................... 105<br/>6.1 Introducción ...................................................................................... 105<br/>6.2 La tabla de tipos ................................................................................ 105<br/>6.2.1 Implementación de la tabla de tipos ....................................... 108<br/>© Alfaomega - RC Libros<br/>COMPILADORES<br/>X<br/>6.2.2 Implementación de una tabla de tipos única ........................ 110<br/>6.2.3 Implementación de una pila de tablas de tipos .................... 119<br/>6.2.4 Dimensión y acceso a los elementos de los tipos ................. 123<br/>6.3 La tabla de símbolos ........................................................................ 126<br/>6.4 Ejercicios resueltos ........................................................................... 130<br/>Ejercicio 6.1 ......................................................................................... 130<br/>Capítulo 7. Análisis semántico ............................................................................ 137<br/>7.1 Introducción ...................................................................................... 137<br/>7.2 Atributos y acciones semánticas .................................................... 138<br/>7.3 Tipos de atributos ............................................................................ 143<br/>7.4 Notaciones para la especificación de un traductor ..................... 145<br/>7.4.1 Definición dirigida por sintaxis (DDS) .................................. 145<br/>7.4.2 Esquema de traducción (ETDS) .............................................. 147<br/>7.5 Comprobaciones semánticas .......................................................... 150<br/>7.6 Ejercicios resueltos ........................................................................... 151<br/>Ejercicio 7.1 ......................................................................................... 151<br/>Ejercicio 7.2 ......................................................................................... 153<br/>Ejercicio 7.3 ......................................................................................... 154<br/>Capítulo 8. Generación de código intermedio y final ..................................... 155<br/>8.1 Introducción ...................................................................................... 155<br/>8.2 Tipos de código intermedio ............................................................ 157<br/>8.2.1 Código de tres direcciones ....................................................... 157<br/>8.2.2 Código de máquina virtual de pila ........................................ 158<br/>8.2.3 Operadores sobrecargados ...................................................... 159<br/>8.3 Código intermedio para expresiones ............................................ 159<br/>8.4 Código intermedio para asignaciones .......................................... 163<br/>8.5 Sentencias de entrada y salida ....................................................... 165<br/>8.6 Sentencia condicional ...................................................................... 165<br/>8.7 Iteración tipo while .......................................................................... 169<br/>8.8 Iteración tipo repeat-until y do-while ........................................... 171<br/>8.9 Iteración tipo for ............................................................................... 172<br/>8.10 La selección ..................................................................................... 174<br/>8.11 Código intermedio para vectores ................................................ 175<br/>© Alfaomega - RC Libros<br/>ÍNDICE<br/>XI<br/>8.12 Código intermedio para registros ................................................ 178<br/>8.13 Espacio de direcciones ................................................................... 179<br/>8.14 Registro de activación (RA) ........................................................... 184<br/>8.15 Secuencia de acciones en subprogramas no recursivos ............ 186<br/>8.16 Secuencia de acciones en subprogramas recursivos .................. 198<br/>8.16.1 Compilación del cuerpo del subprograma ........................... 203<br/>8.16.2 Compilación de la llamada al subprograma ........................ 205<br/>8.17 Secuencia de acciones en subprogramas locales ........................ 216<br/>8.17.1 Encadenamiento de accesos ................................................... 217<br/>8.17.2 Display ...................................................................................... 218<br/>Parte II. Implementación de L-0<br/>Capítulo 9. Especificación de L-0 ......................................................................... 221<br/>9.1 Introducción ...................................................................................... 221<br/>9.2 Instrucciones ...................................................................................... 222<br/>9.3 Variables lógicas ............................................................................... 222<br/>9.4 Operadores ........................................................................................ 223<br/>9.5 Expresiones ........................................................................................ 223<br/>9.6 Ejemplo de programa válido ........................................................... 223<br/>Capítulo 10. Análisis léxico de L-0 ...................................................................... 225<br/>10.1 Preparativos ..................................................................................... 225<br/>10.2 Patrones ............................................................................................ 226<br/>10.3 Tokens válidos ................................................................................. 226<br/>Capítulo 11.Análisis sintáctico de L-0 ................................................................. 229<br/>11.1 Preparativos ..................................................................................... 229<br/>11.2 Inicialización y arranque ............................................................... 230<br/>11.3 Situación de terminales y no terminales ...................................... 232<br/>11.4 Sentencias ......................................................................................... 233<br/>11.5 Expresiones ...................................................................................... 234<br/>11.6 Asignación ....................................................................................... 235<br/>11.7 Sentencias de escritura ................................................................... 235<br/>© Alfaomega - RC Libros<br/>COMPILADORES<br/>XII<br/>11.8 Tablas de verdad ............................................................................ 236<br/>11.9 Funciones ........................................................................................ 236<br/>Capítulo 12. Análisis semántico y generación de código de L-0 ................... 237<br/>12.1 Preparativos .................................................................................... 237<br/>12.2 Tabla de símbolos .......................................................................... 237<br/>12.3 Tratamiento de expresiones ......................................................... 240<br/>12.3.1 La función tautología ............................................................... 242<br/>12.3.2 La función contradicción .......................................................... 244<br/>12.3.3 La función decidible .................................................................. 244<br/>12.4 Operaciones con tablas de verdad ............................................... 245<br/>12.5 La asignación .................................................................................. 247<br/>12.6 Operaciones de impresión ............................................................ 248<br/>Parte III. Implementación de C-0<br/>Capítulo 13. Especificación de C-0 ..................................................................... 253<br/>13.1 Introducción .................................................................................... 253<br/>13.2 Tokens .............................................................................................. 253<br/>13.3 Constantes ....................................................................................... 254<br/>13.4 Operadores y delimitadores ......................................................... 254<br/>13.5 Identificadores y palabras reservadas ......................................... 254<br/>13.6 Tipos de datos ................................................................................. 255<br/>13.7 Sentencias de control de flujo ....................................................... 255<br/>13.8 Instrucciones de entrada-salida ................................................... 255<br/>13.9 Declaración de variables ............................................................... 255<br/>13.10 Programa principal ...................................................................... 255<br/>13.11 Sentencia if-then-else ................................................................... 255<br/>13.12 Sentencia while ............................................................................. 256<br/>13.13 Ejemplo de programa válido ...................................................... 256<br/>Capítulo 14. Análisis léxico, sintáctico y semántico de C-0 ........................... 257<br/>14.1 Análisis léxico ................................................................................. 257<br/>14.2 Análisis sintáctico .......................................................................... 258<br/>14.3 Análisis semántico ......................................................................... 263<br/>© Alfaomega - RC Libros<br/>ÍNDICE<br/>XIII<br/>Capítulo 15. Generación de código intermedio de C-0 .................................... 269<br/>15.1 Introducción .................................................................................... 269<br/>15.2 Código de tres direcciones ............................................................. 270<br/>15.3 Espacio de direcciones ................................................................... 273<br/>15.4 Asignación de direcciones a variables ......................................... 274<br/>15.5 Asignación de direcciones a expresiones y condiciones ........... 275<br/>15.6 CI de expresiones ............................................................................ 280<br/>15.7 CI de condiciones ............................................................................ 283<br/>15.8 CI de asignación .............................................................................. 284<br/>15.9 CI de bloques if-then-else .............................................................. 286<br/>15.10 CI de bloques while ...................................................................... 289<br/>15.11 CI de putw ..................................................................................... 290<br/>15.12 CI de puts ....................................................................................... 291<br/>Capítulo 16. Generación de código final de C-0 ............................................... 297<br/>16.1 Introducción .................................................................................... 297<br/>16.2 Preparativos ..................................................................................... 297<br/>16.3 Introducción a Ens2001 .................................................................. 298<br/>16.4 CARGAR_DIRECCION op1 null res ........................................... 300<br/>16.5 CARGAR_VALOR op1 null res .................................................... 301<br/>16.6 SUMAR op1 op2 res ....................................................................... 301<br/>16.7 RESTAR op1 op2 res ...................................................................... 302<br/>16.8 MULTIPLICAR op1 op2 res .......................................................... 302<br/>16.9 DIVIDIR op1 op2 res ...................................................................... 302<br/>16.10 OR op1 op2 res .............................................................................. 302<br/>16.11 AND op1 op2 res .......................................................................... 302<br/>16.12 MAYOR op1 op2 res ..................................................................... 303<br/>16.13 MENOR op1 op2 res ..................................................................... 303<br/>16.14 IGUAL op1 op2 res ....................................................................... 303<br/>16.15 DISTINTO op1 op2 res ................................................................. 304<br/>16.16 ETIQUETA null null res............................................................... 304<br/>16.17 SALTAR_CONDICION op1 null res ......................................... 304<br/>16.18 SALTAR_ETIQUETA null null res ............................................. 305<br/>© Alfaomega - RC Libros<br/>COMPILADORES<br/>XIV<br/>16.19 IMPRIMIR_ENTERO op1 null null ........................................... 305<br/>16.20 IMPRIMIR_CADENA op1 null null.......................................... 305<br/>16.21 PONER_CADENA op1 null res ................................................. 305<br/>16.22 Punto y final .................................................................................. 306<br/>16.23 Posibles ampliaciones .................................................................. 311<br/>Parte IV. Implementación de C-1<br/>Capítulo 17. Especificación de C-1 ..................................................................... 315<br/>17.1 Introducción .................................................................................... 315<br/>17.2 Tipos estructurados ....................................................................... 316<br/>17.2.1 Registros ................................................................................... 316<br/>17.2.2 Vectores .................................................................................... 317<br/>17.3 Declaración conjunta de variables y variables locales .............. 317<br/>17.4 Nuevos operadores y delimitadores ........................................... 318<br/>17.5 Subprogramas ................................................................................ 318<br/>17.6 Asignación ...................................................................................... 319<br/>17.7 Comentarios .................................................................................... 319<br/>Capítulo 18. Análisis léxico y sintáctico de C-1 ............................................... 321<br/>18.1 Introducción .................................................................................... 321<br/>18.2 Análisis léxico ................................................................................. 321<br/>18.3 Análisis sintáctico .......................................................................... 324<br/>Capítulo 19. Análisis semántico de C-1 ............................................................. 331<br/>19.1 Introducción .................................................................................... 331<br/>19.2 La tabla de tipos ............................................................................. 331<br/>19.3 La tabla de símbolos ...................................................................... 334<br/>19.4 Análisis semántico ......................................................................... 338<br/>19.4.1 Definición del tipo struct ....................................................... 339<br/>19.4.2 Definición del tipo vector ...................................................... 342<br/>19.4.3 Declaración de variables globales ......................................... 343<br/>19.4.4 Declaración de variables locales ........................................... 348<br/>19.4.5 Declaración de subprogramas ............................................... 352<br/>19.4.6 Argumentos de subprogramas ............................................. 354<br/>© Alfaomega - RC Libros<br/>ÍNDICE<br/>XV<br/>19.4.7 Expresiones ............................................................................... 355<br/>19.4.8 Condiciones .............................................................................. 362<br/>19.4.9 Sentencia de asignación .......................................................... 364<br/>19.4.10 Sentencia de retorno de una función ................................... 369<br/>19.4.11 Sentencia de llamada a un procedimiento ......................... 369<br/>19.4.12 Resto de sentencias ................................................................ 370<br/>Capítulo 20. Generación de código de C-1 ......................................................... 371<br/>20.1 Introducción .................................................................................... 371<br/>20.2 CI de expresiones ............................................................................ 373<br/>20.2.1 Suma, resta, producto, multiplicación, división y módulo ........ 373<br/>20.2.2 CI para enteros ......................................................................... 374<br/>20.2.3 CI para identificadores ............................................................ 374<br/>20.2.4 CI para funciones ..................................................................... 375<br/>20.2.5 CI para procedimientos ........................................................... 381<br/>20.2.6 CI para campos de registros ................................................... 382<br/>20.2.7 CI para elementos de un vector ............................................. 383<br/>20.3 CI para asignaciones ....................................................................... 384<br/>20.3.1 Asignación a una variable sencilla ........................................ 384<br/>20.3.2 Asignación a un campo de un registro ................................. 384<br/>20.3.3 Asignación a un elemento de un vector ............................... 384<br/>20.4 Sentencias condicionales y bucles ................................................ 385<br/>20.5 Sentencias para imprimir ............................................................... 386<br/>20.6 Declaración de funciones y procedimientos ............................... 386<br/>20.7 Finalización ...................................................................................... 388<br/>20.8 Generación de código final ............................................................ 388<br/>20.9 Ampliación para C-2 ...................................................................... 390<br/>Parte V. Apéndices, bibliografía e índice alfabético<br/>Apéndice A. Herramientas .................................................................................... 395<br/>A.1 Herramientas .................................................................................... 395<br/>A.2 Instalación de las herramientas ..................................................... 398<br/>© Alfaomega - RC Libros<br/>COMPILADORES<br/>XVI<br/>A.2.1 Java ............................................................................................. 398<br/>A.2.2 JLex ............................................................................................ 398<br/>A.2.3 CUP ............................................................................................ 398<br/>A.2.4 ENS2001 .................................................................................... 398<br/>A.3 Uso de las herramientas ................................................................. 399<br/>A.3.1 Uso de JLex ............................................................................... 399<br/>A.3.2 Uso de Cup ............................................................................... 404<br/>Apéndice B. Código intermedio y final para C-1 en Ens2001 ........................ 409<br/>B.1 Introducción ..................................................................................... 409<br/>B.2 Tabla de código intermedio y final para Ens2001 ....................... 409<br/>B.3 Ejemplo de programa en C-1 ......................................................... 412<br/>Bibliografía ............................................................................................................. 419<br/>Libros y manuales .................................................................................. 419<br/>Software ................................................................................................... 420<br/>Índice alfabético .....................................................................................................
520 ## - RESUMEN, ETC.
Resumen, etc. Los microcontroladores PICmicro de Microchip han experimentado un importante aumento de presencia en el sector industrial.<br/>En lenguajes de programación destaca el desarrollo de un lenguaje C específico para un microcontrolador que permite obtener el máximo rendimiento del micro.<br/>Los programas de simulación permiten depurar casi hasta la perfección el diseño antes de ser construido, con un enorme ahorro de tiempo y costo. Uno de los mejores simuladores para microcontroladores es el ISIS de PROTEUS.<br/><br/>Objetivo:<br/><br/>Desarrollar en el lector los conocimientos básicos necesarios para manejar cada programa, apoyándolo con el mayor número de ejercicios y con su esfuerzo lograr la ampliación de conocimiento.
526 ## - NOTA DE INFORMACIÓN SOBRE EL PROGRAMA DE ESTUDIO
Program name Ingeniería en Tecnologías de la Información y Comunicación
650 #0 - PUNTO DE ACCESO ADICIONAL DE MATERIA--TÉRMINO DE MATERIA
Término de materia o nombre geográfico como elemento de entrada Programación
9 (RLIN) 729
942 ## - ELEMENTOS DE ENTRADA SECUNDARIOS (KOHA)
Tipo de ítem Koha Libro
Fuente del sistema de clasificación o colocación Clasificación Decimal Dewey
Edición 1a Edición
945 ## - CATALOGADORES
Número del Creador del Registro 1
Nombre del Creador del Registro admin
Número de último modificador del registro 1270
Nombre del último modificador del registro María Elena Olvera Picina
Holdings
Estatus retirado Estado de pérdida Fuente del sistema de clasificación o colocación Estado de daño Clasificación normalizada Koha para ordenación No para préstamo Código de colección Biblioteca de origen Biblioteca actual Ubicación en estantería Fecha de adquisición Número de inventario Forma de adquisición Total de préstamos Signatura topográfica completa Código de barras Visto por última vez Copia número Precio de reemplazo efectivo desde Tipo de ítem Koha
    Clasificación LC, Biblioteca del Congreso   TJ0223 P76 G37 02008 No para préstamo externo Colección General CI Gustavo A. Madero CI Gustavo A. Madero Sala General 10/07/2025 0975T Donación   TJ223 P76 G37 2008 0975T 10/07/2025 EJ. 1 10/07/2025 Libro
    Clasificación LC, Biblioteca del Congreso   TJ0223 P76 G37 02008   Colección General CI Gustavo A. Madero CI Gustavo A. Madero Sala General 10/07/2025 0976T Donación   TJ223 P76 G37 2008 0976T 10/07/2025 EJ. 2 10/07/2025 Libro
    Clasificación LC, Biblioteca del Congreso   TJ0223 P76 G37 02008   Colección General CI Gustavo A. Madero CI Gustavo A. Madero Sala General 10/07/2025 C Donación   TJ223 P76 G37 2008 0977T 10/07/2025 EJ. 3 10/07/2025 Libro
    Clasificación LC, Biblioteca del Congreso   TJ0223 P76 G37 02008   Colección General CI Gustavo A. Madero CI Gustavo A. Madero Sala General 10/07/2025 0978T Donación   TJ223 P76 G37 2008 0978T 10/07/2025 EJ. 4 10/07/2025 Libro
    Clasificación LC, Biblioteca del Congreso   TJ0223 P76 G37 02008   Colección General CI Gustavo A. Madero CI Gustavo A. Madero Sala General 10/07/2025 0979T Donación   TJ223 P76 G37 2008 0979T 10/07/2025 EJ. 5 10/07/2025 Libro

Libros electrónicos

eLibro eLibro

Recursos de investigación libres

image host image host image host image host image host image host image host image host image host image host

Recursos informativos



TecNM | Tecnológico Nacional de México

© 2025 by Biblionexus