450 likes | 646 Views
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. Índice.
E N D
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
Índice • Introducción • ¿Para qué sirve?, ¿Cómo funciona?... • Descripción • Características, léxico, proyectos… • Conclusiones • Objetivos alcanzados, mejoras… Acide
¿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
¿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-the-fly” Acide
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
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
Estado del arte Resaltado de palabras: Crimson JEdit WinEdt Muy específicos: JBuilder JCreator C++Builder Configuración compleja: Eclipse Acide
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
Características Barra de Herramientas Explorador Editor de texto Consola Acide
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
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
Gestor de proyectos Acide
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
Gestor de proyectos Dispone de Menú Contextual con las opciones básicas del gestor de proyectos Acide
Gestor de proyectos • NUEVO PROYECTO • Configuración léxica • Configuración gramatical • Opción compilador • Opción intérprete Acide
Gestor de proyectos • Compilador • Path del compilador • Argumentos • Compilar por cada fichero marcado/ separador • Extensión Acide
Gestor de proyectos • Ejemplo de compilación: Acide
Gestor de proyectos • Ejemplo de compilación: Acide
Gestor de proyectos Ejemplo de Compilación: Acide
Gestor de proyectos Acide
Gestor de proyectos • Ejemplo de ejecución Acide
Archivos de idioma (1) • Idioma. El idioma de la aplicación es fácilmente configurable mediante archivos de recursos de texto plano. Acide
Archivos de idioma (2) Acide
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
Editor de texto (2) Vista 1 Números de línea Vista 2 Acide
Editor de texto (3) Acide
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
Configuración léxica (2) Acide
Configuración léxica (3) Acide
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
Consola (2) Acide
Consola (3) Acide
Configuración de menú Acide
Configuración de gramáticas (2) Grammar.g GrammarLexerTokenTypes.java GrammarLexer.java GrammarParser.java Antlr v2.7.7 JAR Acide
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
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
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
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
Desarrollo • Diego Cardiel Freire • 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 • Juan José Ortiz Sánchez • 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
Página web • Ejecutable: • http://acide.sourceforge.net • Código fuente: • http://pide.berlios.de Acide