U1. as Escaner Automatas 2
Short Description
Descripción: Escaner a entregar en la unidad uno de la materia de lenguajes y automatas 2...
Description
Escáner
1.1 Clasificación de los Tokens Tokens Palabras reservadas Delimitadores Constantes Operadores Relacionales λ Identificadores (i) $ Reglas DDL Reglas DML
Valor inicial 10 50 60 70 80 99 100 199 200 300
1.2 Tablas de Símbolos. Palabras Reservadas (1) Lexema Símbolo Valor Select From Where In And Or Create Table Char Numeric Not Null
s f w n y o c t h u e g
10 11 12 13 14 15 16 17 18 19 20 21
Constraint Key Primary Foreign References Insert Into values
b k p j l m q v
22 23 24 25 26 27 28 29
Delimitadores (5) , . ( ) ‘
Valor
Constantes (6) r d a
Valor
50 51 52 53 54
60 61 62
Operadores (7) + * /
Valor
Relacionales (8) > < = >= 70
1.3.2 Procesamiento de la sentencia 1) Utilizar las tablas de símbolos estáticas. 2) Actualizar las tablas de símbolos dinámicas (identificadores y constantes).
Identificadores (100) ANOMBRE CALIFICACION ALUMNOS INSCRITOS MATERIAS CARRERAS MNOMBRE TURNO CNOMBRE SEMESTRE CALIFICACION ….
Valor 101 102 103 104 105 106 107 108 109 110 111 …
Constantes Valor PROGSIST 63 TV 64 ITC 65 2015I 66 70 67 … …
Tablas de símbolos dinámicas
_____________________________________________________________________ 2 Lenguajes y Autómatas II MSC. Martin Agúndez Amador
U1. AS Escáner
1.3.3 Salida del Escáner No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Línea TOKEN 1 SELECT 1 ANOMBRE 1 , 1 CALIFICACION 2 FROM 2 ALUMNOS 2 , 2 INSCRITOS 2 , 2 MATERIAS 2 , 2 CARRERAS 3 WHERE 3 MNOMBRE 3 = 3 ‘ 3 CONSTANTE 3 ‘ 3 AND 3 TURNO 3 = 3 ‘ 3 CONSTANTE 3 ‘ 4 AND 4 CNOMBRE 4 = 4 ‘ 4 CONSTANTE 4 ‘ 4 AND 4 SEMESTRE 4 = 4 ‘ 4 CONSTANTE 4 ‘ 4 AND 4 CALIFICACION 4 > 4 CONSTANTE
Tipo 1 100 5 100 1 100 5 100 5 100 5 100 1 100 8 5 62 5 1 100 8 5 62 5 1 100 8 5 62 5 1 100 8 5 62 5 1 100 8 61
Código 10 101 50 102 11 103 50 104 50 105 50 106 12 107 88 54 63 54 14 108 88 54 64 54 14 109 88 54 65 54 14 110 88 54 66 54 14 111 86 67
Tabla Léxica
_____________________________________________________________________ Lenguajes y Autómatas II M. S. C. Martín Agúndez Amador
U1. AS Escáner
1.4 Sentencias SQL válidas Ejemplo
1.4.1 SELECT * FROM PROFESORES WHERE EDAD >45 AND GRADO='MAE' OR GRADO='DOC'
Ejemplo
1.4.2 SELECT DISTINCT ANOMBRE FROM ALUMNOS,INSCRITOS WHERE ALUMNOS.A#=INSCRITOS.A# AND INSCRITOS.SEMESTRE='2010I'
Ejemplo
1.4.3 SELECT DISTINCT ANOMBRE FROM ALUMNOS,INSCRITOS,CARRERAS WHERE ALUMNOS.A#=INSCRITOS.A# AND ALUMNOS.C#=CARRERAS.C# AND INSCRITOS.SEMESTRE='2010I' AND CARRERAS.CNOMBRE='ISC' AND ALUMNOS.GENERACION='2010'
Ejemplo
1.4.4 SELECT DISTINCT ANOMBRE FROM ALUMNOS A,INSCRITOS I,CARRERAS C WHERE A.A#=I.A# AND A.C#=C.C# AND I.SEMESTRE='2010I' AND C.CNOMBRE='ISC' AND A.GENERACION='2010'
Ejemplo
1.4.5 SELECT DISTINCT MNOMBRE, CNOMBRE FROM CARRERAS C,DEPARTAMENTOS D,MATERIAS M WHERE C.C#=M.C# AND C.D#=D.D# AND D.DNOMBRE='CIECOM' ORDER BY 2,1
Ejemplo
1.4.6 SELECT M#,MNOMBRE FROM MATERIAS WHERE M# IN (SELECT M# FROM INSCRITOS WHERE A# IN (SELECT A# FROM ALUMNOS WHERE ANOMBRE='MESSI LIONEL'))
_____________________________________________________________________ Lenguajes y Autómatas II M. S. C. Martín Agúndez Amador
U1. AS Escáner Ejemplo
1.4.7 SELECT A#,ANOMBRE FROM ALUMNOS WHERE C# IN (SELECT C# FROM CARRERAS WHERE SEMESTRES=9) AND A# IN (SELECT A# FROM INSCRITOS WHERE SEMESTRE='2010I')
Ejemplo
1.4.8 SELECT ANOMBRE FROM ALUMNOS WHERE A# IN (SELECT A# FROM INSCRITOS WHERE SEMESTRE='2010I' AND M# IN (SELECT M# FROM MATERIAS WHERE MNOMBRE='ESTDAT'))
Ejemplo
1.4.9 SELECT ANOMBRE FROM ALUMNOS WHERE A# IN(SELECT A# FROM INSCRITOS WHERE P# IN (SELECT P# FROM PROFESORES WHERE GRADO='MAE')) AND C# IN (SELECT C# FROM CARRERAS WHERE CNOMBRE='ISC')
Ejemplo
1.4.10 SELECT ANOMBRE FROM ALUMNOS WHERE A# IN (SELECT A# FROM INSCRITOS WHERE CALIFICACION < 70 AND M# IN (SELECT M# FROM MATERIAS WHERE C# IN (SELECT C# FROM CARRERAS WHERE D# IN (SELECT D# FROM DEPARTAMENTOS WHERE DNOMBRE = 'CIECOM'))))
_____________________________________________________________________ Lenguajes y Autómatas II M. S. C. Martín Agúndez Amador
U1. AS Escáner
1.5 Características del Escáner Para la revisión y evaluación del escáner, se hace necesario que el programa cumpla con los requisitos siguientes: Características: 1. Contiene la primera fase de un traductor de consultas de un subconjunto del lenguaje SQL. 2. La aplicación, internamente hará uso de los siguientes módulos: de entrada, de análisis, de resultados y de errores. Módulo de entrada. El traductor recibirá como entrada sentencias del siguiente tipo: SECCION TIPO DESCRIPCION 1.4. DML Sentencias SELECT (completas) Módulo de análisis. Es la primera fase del proceso de traducción y determina si la sentencia analizada se encuentre libre de errores léxicos. Si se encuentra libre de errores llamará al Módulo de resultados, en caso contrario, al Módulo de errores. Módulo de resultados. En este avance, solamente indicará que la consulta se encuentra libre de errores. Módulo de errores. Comprende el desplegado de los diferentes tipos de mensajes generados en el módulo de análisis y señalan la parte del análisis léxica, el número de línea y tipo de error. 3. Bajo ninguna circunstancia, el traductor terminará de forma abrupta su ejecución. En todo momento estará disponible al usuario (nueva consulta) y/o atrapará e indicará el tipo de error generado en el módulo de análisis o de resultados). 4. Fecha de revisión y entrega. Fecha
Oportunidad
27/AGO
1
03/SEP
2
Revisión 1 2 3 1 2 3
Valor 100 95 90 80 75 70
_____________________________________________________________________ Lenguajes y Autómatas II M. S. C. Martín Agúndez Amador
View more...
Comments