Download ACIDE
Document related concepts
no text concepts found
Transcript
ACIDE A C onfigurable I ntegrated D evelopment E nvironment (Un entorno integrado de desarrollo configurable) Autores Integrantes del grupo: ◦ Diego Cardiel Freire ◦ Juan José Ortiz Sánchez ◦ Delfín Rupérez Cañas Director del proyecto: ◦ Fernando Sáenz Pérez Acide 1 Índice Introducción ◦ ¿Para qué sirve?, ¿Cómo funciona?... Descripción ◦ Características, léxico, proyectos… Conclusiones ◦ Objetivos alcanzados, mejoras… Acide 2 ¿Para qué sirve ACIDE? Edición, compilación y ejecución/interpretación en diferentes lenguajes de aplicación. Acide está orientado a los lenguajes de programación. Para llevarlo a cabo, ACIDE dispone de un analizador léxico y sintáctico configurables. Puede ser fácilmente configurado para cualquier intérprete, compilador o sistema de base de datos. Acide 3 ¿Cómo funciona ACIDE? Configura de forma parametrizada la aplicación : menús, idiomas, etc. Gestiona proyectos por medio de estructuras lógicas (en carpetas y ficheros). Dispone de opciones diversas de compilación y ejecución. Edición multi-archivo, coloreado de lenguaje y posibilidad de “parsing on-thefly” Acide 4 Objetivos (1) Editor de texto Menús Barra de herramientas Interfaz Gráfica de Usuario (GUI) para la parametrización Explorador del proyecto Números de línea Barra de estado Log Consola Acide 5 Objetivos (2) Archivos de configuración y parametrización Reconocimiento de las palabras reservadas Reconocimiento de los errores de sintaxis Creación de proyectos Guardar y cargar configuraciones Intérprete y compilador Ejecución Ayuda Acide 6 Estado del arte Resaltado de palabras: ◦ Crimson ◦ JEdit ◦ WinEdt Muy específicos: ◦ JBuilder ◦ JCreator ◦ C++Builder Configuración compleja: ◦ Eclipse Acide 7 Ventajas Acide es un entorno configurable para cualquier tipo de lenguaje de programación. Independiente de la plataforma al estar implementado en Java. Válido para lenguajes compilados e interpretados. Interfaz gráfica amigable e intuitiva. Código abierto. Acide 8 Características Barra de Herramientas Explorador Editor de texto Consola Acide 9 Configuración <EMPTY> <EMPTY> <Empty> es una configuración que se inicia al arrancar ACIDE y sirve para proporcionar un entorno de trabajo: Edición, compilación, ejecución… Acide 10 Configuración <EMPTY> Esta aplicación dispone por defecto de un proyecto llamado: <Empty>. Se pretende con esto disponer de una serie de configuraciones básicas. Útil para los que quieran trabajar sin un proyecto específico. Acide 11 Gestor de proyectos Acide 12 Gestor de proyectos Dispone de las opciones básicas para la gestión de los proyectos: Nuevo, Abrir, Guardar, “Guardar como” y Cerrar. Opciones de compilar y ejecutar. Añadir/Eliminar ficheros y carpetas. Marcar fichero para compilar. Marcar fichero como Main. Acide 13 Gestor de proyectos Dispone de Menú Contextual con las opciones básicas del gestor de proyectos Acide 14 Gestor de proyectos NUEVO PROYECTO Configuración léxica Configuración gramatical Opción compilador Opción intérprete Acide 15 Gestor de proyectos Compilador Path del compilador Argumentos Compilar por cada fichero marcado/ separador Extensión Acide 16 Gestor de proyectos Ejemplo de compilación: Acide 17 Gestor de proyectos Ejemplo de compilación: Acide 18 Gestor de proyectos Ejemplo de Compilación: Acide 19 Gestor de proyectos Acide 20 Gestor de proyectos Ejemplo de ejecución Acide 21 Archivos de idioma (1) Idioma. El idioma de la aplicación es fácilmente configurable mediante archivos de recursos de texto plano. Acide 22 Archivos de idioma (2) Acide 23 Editor de texto (1) Organización de archivos por pestañas. Números de línea. Marcado del estado de los archivos. Vista de distintas partes de un mismo archivo. Marcado de pares de paréntesis, llaves y corchetes. Avisos de consistencia de los archivos. Análisis léxico incremental en tiempo real Acide 24 Editor de texto (2) Vista 1 Números de línea Vista 2 Acide 25 Editor de texto (3) Acide 26 Configuración léxica (1) El usuario podrá definir la lista de palabras reservadas, símbolos de comentario y delimitadores. Configuración de cada palabra reservada y delimitador: ◦ Color. ◦ Estilo (Cursiva, Negrita). ◦ Sensible a mayúsculas/minúsculas. Configuración del color de comentarios de línea. Acide 27 Configuración léxica (2) Acide 28 Configuración léxica (3) Acide 29 Consola (1) Interacción a nivel de hilos con intérpretes, compiladores o con cualquier tipo de programa que admita un flujo de datos de entrada y de salida. Visualización de una consola de entrada salida para que el usuario o la propia aplicación pueda interactuar con el programa asociado. Acide 30 Consola (2) Acide 31 Consola (3) Acide 32 Configuración de la barra de herramientas (1) Acide 33 Configuración de la barra de herramientas (2) Acide 34 Configuración de menú Acide 35 Configuración de menú (2) Acide 36 Configuración de gramáticas (1) Acide 37 Configuración de gramáticas (2) Grammar.g GrammarLexerTokenTypes.java GrammarLexer.java JAR GrammarParser.java Acide Antlr v2.7.7 38 Objetivos (1) Editor de texto Menús Barra de herramientas Interfaz Gráfica de Usuario (GUI) para la parametrización Explorador del proyecto Números de línea Barra de estado Log Consola Acide 39 Objetivos (2) Archivos de configuración y parametrización Reconocimiento de las palabras reservadas Reconocimiento de los errores de sintaxis Creación de proyectos Guardar y cargar configuraciones Intérprete y compilador Ejecución Ayuda Acide 40 Objetivos extra Comunicación con programas externos integrada en el propio entorno (a nivel de hilos) Configuración en archivos XML Búsqueda de expresiones regulares Doble vista del documento Impresión de documentos Pareado de paréntesis, corchetes y llaves Acide 41 Posibles ampliaciones futuras Sangrado automático del texto Depurador Historial de comandos en consola Últimos archivos y proyectos abiertos Obtención automática del léxico a partir de la gramática Acide 42 Desarrollo Diego Cardiel Freire ◦ ◦ ◦ ◦ ◦ ◦ ◦ Juan José Ortiz Sánchez ◦ ◦ ◦ ◦ ◦ ◦ Editor de texto Consola Interacción con programas externos Configuración léxica Análisis léxico incremental en tiempo real Multi-idioma Archivos de recursos Log de la aplicación GUI de configuraciones (prototipos) Configuración de gramáticas Análisis sintáctico Configuración de menú Configuración de barra de herramientas Delfín Rupérez Cañas ◦ ◦ ◦ ◦ ◦ ◦ ◦ Gestor Proyectos Impresión de documentos Deshacer / rehacer Buscar / reemplazar Barra de estado Compilación, ejecución Explorador de proyecto Acide 43 Página web Ejecutable: ◦ http://acide.sourceforge.net Código fuente: ◦ http://pide.berlios.de Acide 44