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