Actualizado el 12 de Septiembre del 2020 (Publicado el 14 de Enero del 2017)
961 visualizaciones desde el 14 de Enero del 2017
198,2 MB
149 paginas
Creado hace 12a (14/02/2013)
"
f;IIITRI I E INVES JIS>CIU Y U
UT JDJPS AVA '· .' . ?fS " : ~
I. P . N .
& t F: L~O-;E O A
" ' '<NIEi!IA LLECTRIC•
CENTRO DE fNVESTIGACION Y DE ESTUDIOS A V ANZADOS
fNSTITUTO POLITECNICO NAC!ONAL
DEPARTAMENTO DE fNGENIERIA ELECTRICA
SECCION DE COMPUTAC!ON
TITULO
HE VI COP
HErramienta VIsual para Ia COnstrucci6n de Programas
TESIS PARA OBTENER EL GRADO DE:
MAESTRO EN CIENCIAS
EN LA ESPECIALIDAD DE INGENIERIA ELECTRICA
QUE PRESENT A:
LIC. NOE SIERRA ROMERO
CIN y; s: A y Mexico, D. F. Mayo de 1995
\\
AD0Ui3\CION
DE UBROS
~
AGRADECIMIENTOS
En primer Iugar, a Dios por pennitirme realizar todo esto.
A mi esposa Ady y mi hija Adita por darme todo su apoyo, tiempo y amor en los mementos en
que mas los he necesitado.
A f!1is padres Antonia y Angel por todos los sacrificios que han hecho hasta estos mementos y
que no podria pagar con nada en este mundo. Me siento orgulloso de ser su hijo.
A mis hennanos David, Memo, Mary, Cristina, Ruben, SaUl y Eva por su apoyo.
Ami maestro, el Dr. Sergio Victor Chapa Vergara, porIa paciencia, el apoyo, los comentarios y
su amistad.
A mi jurado, compuesto por Ia Ora. Ana Maria Martinez Enriquez, el M.C. Oscar Olmedo
Aguirre y el Dr. Sergio V. Chapa Vergara porIa revisiOn minuciosa que hicieron al trabajo y sus
valiosos comentarios.
Allng. Jaime Pott Le6n, por todas las facilidades prestadas.
A todos mis amigos, par sus comentarios de <inimo para lograr Ia finalizaci6n de este trabajo.
A todos mis maestros, que de alguna forma han contribuido a mi fonnaci6n profesional.
AI Centro de lnvestigaci6n por acunarrne durante esta importante etapa de mi vida.
Muchas Gracias ...
INDICE
RESUMEN
INTRODUCCION
LENGUAJES VISUALES
Los iconos en Ia actual idad
Los lenguajes visuales
I.
1.1.
1.2.
1.2.1. DI: Diccionario de Iconos
1.2.2. DO: Diccionario de Operadores
1.2.3. Base de datos de acciones seminticas
1.3. Estado actual de los lenguajes visuales
1.4. Conclusiones
TECNICAS DE REPRESENTACION VISUAL DE PROGRAMAS
leones utilizados por los d iagramas de flujo
2.
2. 1. Diagramas de Jluj o
2. 1.1 . DefiniciOn
2.1 .2.
2. 1.3. Caracteristicas
2.2. Diagramas de Nassi~Schneiderrnan
2.2.1. DefiniciOn
2.2.2. leones utilizados por los diagramas de Nassi-Schneiderman
2.2.3. Caracteristicas
2.3. Diagramas de Warnier-Orr
2.3.1 . DefiniciOn
2.3.2. leones utilizados por los diagramas de Wamier-Orr
2.4. Conclusiones
15
16
16
16
17
18
19
19
19
21
22
22
22
25
BLOX-UNA ALTERN A TIV A DE REPRESENTACION V ISUAL
3.
3.1. Un enfoque de dimensiOn 2.5 como posible metoda para Ia representaci6n visual
26
de programas
BLOX como altemativa de representaci6n visual
3.2.
3.2.1. BLOX
3.3. Ventajas
3.4. Caracteristicas
3.5.
3.6.
3. 7. Conclusiones
26
27
27
28
29
29
32
33
34
34
El acoplamiento de BLOX con un lenguaje de programaci6n
El mundo C-BLOX
4.
HEVICOP·HErramienta VIsual para Ia COnstrucci6n de Programas
DefiniciOn
ct•nu~ Llt a;~t. · ·'~' '.''~ ;· ., t :.
fSl ; •.: ·
JEll '~
•
1•1!;ENIERiA ' ~
Editor de Diagramas
4.1. Arquitectura del Sistema
4.2.
4.2.1. Diccionario de Iconos de HEVICOP
4.2.2. Operadores en HEVICOP
4.2.3. Acciones Sem<inticas en HEVICOP
Estructura lntema de un Diagrama
4.3.
4.3.1. RepresentaciOn fisica de un diagrama
4.3.2. InterpretaciOn \Ogica de un diagrama
4.4. Diagramas en ED-HEVICOP
4.4.1. RepresentaciOn intema de un icono en un diagrama
4.4.2. Representaci6n intema del ensamble de iconos
4.4.3. Representaci6n intema de Ia interconecci6n entre diagramas
4.4.4. Niveles de visualizaci6n
4.5. Conclusiones
EL MEDIO AMBIENTE DE PROGRAMACION (MAP) DE HEVICOP
lnterfase
Zona de MenU
5.
5.1.
5.2.
5.2.1. Estructura del menU
Editor de Diagrama
5.3.
Estructura de los archives generados por el editor
5.4.
5.5. Conclusiones
TRADUCTOR DE COD! GO
T raduce iOn dirigida por Ia sintaxis
6.
6. 1.
6. 1.1. Definiciones dirigidas por Ia sintaxis
6.1.2. Esquemas de traducci6n
Estructura del Traductor
6.2.
Programa visual-textual
6.3.
6.4. Acciones sem<inticas
6.5.
6.6.
6.7.
6.8. Conclusiones
Lector de unidades lc!xicas visuales o textuales
Programa objeto generado
Traductor en linea
ANAL! SIS SINTACTICO DE LOS PROGRAMAS DE HEVICOP
7.
7.1. Compiladores
7.!.1. Amilisis
7.!.2. Sintesis
7.2. Amilisis lc!xico
7.2.1. Generadores autom<iticos de analizadores lc!xicos
7.2.2. LEX-Un generador de analizadores lc!xicos
7.2.3. Defici6n lc!xica para el lenguaje de prograrnaci6n C para LEX
7.3. Ami lisis sint<itico
7.3. 1. Teoria de lenguajes fonnales
34
36
37
39
42
44
45
47
47
47
48
49
so
so
51
51
54
55
57
58
60
61
61
62
63
63
64
68
71
71
73
73
74
74
74
75
75
76
76
79
81
81
7.3.2. Amilisis sintlltico descendente
7.3.3. Amllisis sintllctico ascendente
7 .3.4. Y ACC-Un generador de analizadores sintclticos
7.3.5. Programa para Ia descripciOn de Ia gramcltica para ellenguaje de programaci6n
C basado en Ia estructura de Y ACC
7 .4. Analizador sintitico para las clausulas textuales de los programas de
HEVICOP
7 .4. 1. Estructura de Ia parte textual de un icono
7.4.2. Esquema general del analizador sint8tico para los programas gr8ficos de
HEVICOP
7.5. Conclusiones
IMPORTADOR DE COD IGO
8.
8. 1. DefiniciOn
8. 1.
Estructura de los archives reconocidos por el Importador de COdigo
82
82
83
83
87
87
88
92
93
93
93
ESTUDIO DE UN CASO
CONCLUSIONES
APENDICE A - Definici6n de Ia Estructura del Analizador Lexico
APENDICE B - Definici6n de Ia Estructura del Analizador Sintclctico
Bibliografia
RESUMEN
Se presenta un sistema que permite disei\ar
graficamente programas usando un modele de
diagramas multinivel que
incluyen ensambles de
bloques para representar Ia estructura del programa. La
sem<intica de estes es complementada con c6digo en C
del tipo de proposiones simples o ·condiciones que se
asignan a los elementos graticos. El modele asigna a
cada bloque un segmento de c6digo en C, por lo cual
cuando se terminan de definir los diagramas y
ensambles existe Ia informaciOn necesaria para generar
un listado de c6digo en C. El sistema genera como
salida c6digo en lenguaje C libre de errores sinticticos
e inmediatamente compilables.
INTRODUCCION
La especificaciOn y diseii.o de nuevas ambientes de desarrollo y lenguaj es de programaci6n
son una de las partes medulares dentro del campo de Ia computaci6n. La investigaciOn a
nivel pnictico y teOrico son muy variadas y sabre diferentes areas de discurso.
Los dos niveles mencionados se desarrollan en Ia industria e Institutes de lnvestigaci6n
dando como resultado el disei'io y desarrollo de una gran cantidad de lenguajes y sistemas.
El principal objetivo es aumentar Ia productividad y facilitar Ia interacci6n entre usuarios y
sistemas de computo.
Los lenguajes de programaci6n, tradicionalmente, basados en un conjunto de lineas de
c6digo concatenadas en una cadena que representa un archivo (programa). Otro enfoque se
basa en un modelo alternative de Cuadros PictOricos. Bajo este modelo tam bien se incluye
el disefio de lenguajes propios que incluyen representaciones gnificas en Ia creaci6n de un
programa. La raz6n por Ia que se pretende incluir sfmbolos gnificos es que ofrecen una
percepci6n n'l.pida y, generalmente, su contenido es mayor. La' fonnalizaci6n de una gran
cantidad de lenguajes simb6licos ha sido motivada por algunos problemas de Ia vida
cotidiana que han encontrado una soluci6n satisfactoria usando alguna herramienta de tipo
visual. Por ejemplo: como seilales en vias de comunicaci6n y asistencia en lugares pUblicos.
En general, cada conjunto de elementos pict6ricos son dirigidos para cierto auditorio y
estfm enmarcados dentro de un entomo de trabajo. La definiciOn de estos modelos graticos
es realizada por expertos en las areas de interes, manteniendo estAndares delineados por
asociaciones como el American National Standars Institute (ANSI) y Ia International
Organization for Standarization (lOS).
Las caracteristicas inherentes a este tipo de representaciones y las ventajas que ofrecen en Ia
interacci6 n con el usuario ha originado Ia investigaci6n en computaci6n perrnitiendo Ia
creaci6n de una linea de desarrollo de software basado en representaciones gnificas, dando
Iugar a los Lenguajes Visuales de ProgramaciOn (LVP). El principal objetivo de los LVP
es pennitir al usuario programar gnificamente.
El proyecto que aqui se presenta, automatiza una representaci6n visual para Ia construcci6n
de programas estructurados tomando como modelo a! lenguaje C. El sistema HEVICOP
(H Erramienta VIsual par a Ia COnstrucciOn de Progra mas) que hemos construido
emplea como elementos visuales primitives representaciones gnificas que denotan a las
principales estructuras de control dellenguaje C. La creaci6n de un programa en HEVICOP
esta basado el modelo de E.P. Glinert [1 ,2] llamado BLOX (BLack bOXes), an<ilogo a un
juego de rompecabezas donde las piezas del mismo son segmentos de un programa. Las
caracteristicas de BLOX nos aseguran que siempre se creanin programas libres de errores
sintcicticos a nivel estructuras de control. El an<ilisis de los elementos restantes se realiza
bajo un mOdulo orientado bacia esta tarea. Otra de las caracteristicas del sistema es que una
vez finalizada Ia construcci6n visual de un programa se puede obtener el cOdigo fuente
textual en lenguaje "C" tradicional. La descripciOn del modelo de Glinert se encuentra en el
capitulo 3. Es importante men
Comentarios de: Tesis: Noe Sierra - HErramienta VIsual para Ia Construcción de Programas (0)
No hay comentarios