Antlr V3

Páginas: 14 (3485 palabras) Publicado: 17 de octubre de 2012
Proyecto FKScript
Implementación mediante ANTLR y C# de un compilador y una máquina virtual para un lenguaje de script sencillo
Versión 0.1 – 12/03/2008 (Borrador)

© 2008 Salvador Gómez www.sgoliver.net

Este documento y su código fuente asociado se distribuyen bajo una licencia de Creative Commons (Reconocimiento-NoComercial-CompartirIgual 2.5)

Proyecto FKScript

Salvador GómezÍNDICE DEL DOCUMENTO
1. Introducción al Proyecto 2. Introducción ANTLR 3. Proceso General FKScript 4. Análisis Léxico y Sintáctico de FKScript 4.1. Análisis léxico 4.2. Análisis sintáctico 4.3. Recuento y reporte de errores 4.4. Construcción del AST 4.5. Construcción de la tabla de símbolos 4.6. Finalizando el analizador léxico-sintáctico 5. Análisis Semántico de FKScript 5.1. Tareas del análisissemántico 5.2. Enriqueciendo los nodos del árbol AST 5.3. Implementación del analizador en ANTLR v3 5.4. Cálculo y chequeo de tipos 5.5. Programa principal 6. Generación de Código de FKScript 6.1. Máquina virtual FKVM 6.2. Primeros pasos 6.3. Generación de código para literales e identificadores 6.4. Generación de código para expresiones aritméticas 6.5. Generación de código para expresioneslógicas 6.6. Generación de código para asignaciones 6.7. Generación de código para instrucciones condicionales y bucles 6.8. Generación de código para el programa principal FKIL 6.9. Programa principal 7. Ensamblador de código FKIL (FKASM) 7.1. Tareas del ensamblador 7.2. Estructuras de datos 7.3. Inicialización del ensamblador 7.4. Primera pasada del ensamblador 7.4.1. Procesamiento de directivas 7.4.2.Procesamiento de etiquetas 7.4.3. Procesamiento de instrucciones 7.5. Segunda pasada del ensamblador 8. Máquina Virtual de FKScript (FKVM) 8.1. Estructura de la máquina virtual 8.1.1. Segmento de código 8.1.2. Registro contador de programa 8.1.3. Pila 8.1.4. Memoria dinámica 8.1.5. Tabla de funciones API 8.2. Carga de un programa 8.3. Ejecución de un programa 8.4. Ejecución de instrucciones8.4.1. Instrucciones PUSH 8.4.2. Instrucciones LOAD 8.4.3. Instrucciones STORE 8.4.4. Instrucciones aritméticas 8.4.5. Instrucciones de comparación 8.4.6. Instrucciones de salto condicional 8.4.7. Instrucciones de llamada a función externa Versión 0.1 (Borrador)

2

Proyecto FKScript 8.5. Integración con otras aplicaciones 8.5.1. Registro de funciones API 8.5.2. Definición de la API de laaplicación externa ANEXO I: Especificación del lenguaje FKScript ANEXO II: Especificación del lenguaje FKIL

Salvador Gómez

Versión 0.1 (Borrador)

3

Proyecto FKScript

Salvador Gómez

1
Introducción al proyecto FKScript

En este primer capítulo haremos una breve introducción al proyecto FKScript. Comentaremos como surge la idea, los requisitos que definiremos para el sistema final y lasherramientas con las que contaremos para su desarrollo.

Versión 0.1 (Borrador)

4

Proyecto FKScript

Salvador Gómez

Mis primeros pasos en el mundo de las herramientas de generación de compiladores fueron con Flex y Bison (versiones GNU de Lex y Yacc). Estas herramientas, aunque potentes, resultaban algo tediosas de utilizar tanto por sus características intrínsecas como por el códigogenerado, en lenguaje C. A pesar de todo, mis primeros trabajos con estas herramientas me proporcionaron enormes conocimientos sobre este bonito campo del desarrollo de software, aunque eso sí, pasando por muchas dificultades durante el aprendizaje debido a la falta de documentación en español sobre la generación de procesadores de lenguaje y sobre las herramientas concretas utilizadas en elproceso. Más tarde, mis comienzos con ANTLR (allá por la versión 2.7) no fueron mejores. Me fascinaba un artilugio que unificara en una sola herramienta todos los procesos de generación de un compilador: el análisis léxico y análisis sintáctico mediante autómatas LL, la generación y recorrido de árboles de sintaxis abstracta (AST) para el análisis semántico, y la generación de código tradicional...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Antlr
  • Antlr/antlrworks
  • Itil v3
  • Itil V3
  • Itil v3
  • Itil v3
  • itil v3
  • instalacion v3

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS