• No results found

U1. as Escaner Automatas 2

N/A
N/A
Protected

Academic year: 2021

Share "U1. as Escaner Automatas 2"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Escáner

_____________________________________________________________________ Lenguajes y Autómatas II MSC. Martin Agúndez Amador

1

1.1 Clasificación de los Tokens

Tokens Valor inicial Palabras reservadas 10 Delimitadores 50 Constantes 60 Operadores 70 Relacionales 80 λ 99 Identificadores (i) 100 $ 199 Reglas DDL 200 Reglas DML 300

1.2 Tablas de Símbolos.

Palabras Reservadas (1)

Lexema Símbolo Valor Delimitadores (5) Valor Operadores (7) Valor Select s 10 , 50 + 70 From f 11 . 51 - 71 Where w 12 ( 52 * 72 In n 13 ) 53 / 73 And y 14 ‘ 54 Or o 15 Create c 16 Table t 17 Char h 18 Numeric u 19 Not e 20 Null g 21 Constantes (6) Valor Relacionales (8) Valor Constraint b 22 r 60 > 81 Key k 23 d 61 < 82 Primary p 24 a 62 = 83 Foreign j 25 >= 84 References l 26 <= 85 Insert m 27 Into q 28 values v 29

(2)

1.3 Proceso del Escáner

1.3.1 Ejemplo de sentencia SQL de entrada

SELECT ANOMBRE, CALIFICACION

FROM ALUMNOS, INSCRITOS, MATERIAS, CARRERAS WHERE MNOMBRE=’PROGSIST’ AND TURNO = ‘TV’

AND CNOMBRE=’ITC’ AND SEMESTRE=’2015I’ AND CALIFICACION > 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) Valor Constantes Valor

ANOMBRE 101 PROGSIST 63 CALIFICACION 102 TV 64 ALUMNOS 103 ITC 65 INSCRITOS 104 2015I 66 MATERIAS 105 70 67 CARRERAS 106 … … MNOMBRE 107 TURNO 108 CNOMBRE 109 SEMESTRE 110 CALIFICACION 111 …. …

(3)

U1. AS Escáner

_____________________________________________________________________ Lenguajes y Autómatas II M. S. C. Martín Agúndez Amador

1.3.3 Salida del Escáner

No. Línea TOKEN Tipo Código

1 1 SELECT 1 10 2 1 ANOMBRE 100 101 3 1 , 5 50 4 1 CALIFICACION 100 102 5 2 FROM 1 11 6 2 ALUMNOS 100 103 7 2 , 5 50 8 2 INSCRITOS 100 104 9 2 , 5 50 10 2 MATERIAS 100 105 11 2 , 5 50 12 2 CARRERAS 100 106 13 3 WHERE 1 12 14 3 MNOMBRE 100 107 15 3 = 8 88 16 3 ‘ 5 54 17 3 CONSTANTE 62 63 18 3 ‘ 5 54 19 3 AND 1 14 20 3 TURNO 100 108 21 3 = 8 88 22 3 ‘ 5 54 23 3 CONSTANTE 62 64 24 3 ‘ 5 54 25 4 AND 1 14 26 4 CNOMBRE 100 109 27 4 = 8 88 28 4 ‘ 5 54 29 4 CONSTANTE 62 65 30 4 ‘ 5 54 31 4 AND 1 14 32 4 SEMESTRE 100 110 33 4 = 8 88 34 4 ‘ 5 54 35 4 CONSTANTE 62 66 36 4 ‘ 5 54 37 4 AND 1 14 38 4 CALIFICACION 100 111 39 4 > 8 86 40 4 CONSTANTE 61 67 Tabla Léxica

(4)

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

(5)

U1. AS Escáner

_____________________________________________________________________ Lenguajes y Autómatas II M. S. C. Martín Agúndez Amador

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'))))

(6)

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 Revisión Valor

27/AGO 1 1 100 2 95 3 90 03/SEP 2 1 80 2 75 3 70

References

Related documents

This study attempts to verify whether patronage culture and interrelated factors (including weak accountability, hegemonic political regime, high and legitimate power distance,

Její výhoda oproti použití přímo globální paměti spočívá ve využití vlastních cache pamětí, které mohou být využity prostorově.. To znamená, že data nejsou do

Vigilant Union, the rank-and-file bargaining agent, charged the company with Unfair Labor Practice on the ground that (1) no consultations had been made on who would render

Figure 2 - Plot of eruptive volume (circles sized in proportion to cube-root of volume) fissure length (lines), and lava effusion rate (dots) for Pliocene-Pleistocene volcanoes of

In fact the two sextets representing the ferrite specie contributed by the 43.5% (combined), and the carbide by the 45.3%. The isomer shift and the quadrupole splitting of

In this paper, we have described an approach to engineering the flow of traffic in these networks by monitoring the traffic and topology, optimizing the setting of the static

This includes computer vandalism (destruction of others property), transmission of harmful programs, credit card fraud, internet time theft, and intellectual property crimes