Semantica De Entrada Y Salida

17
SEMANTICA DE ENTRADA Y SEMANTICA DE ENTRADA Y SALIDA SALIDA ESPECIALIZACION III ESPECIALIZACION III

Transcript of Semantica De Entrada Y Salida

Page 1: Semantica De Entrada Y Salida

SEMANTICA DE ENTRADA Y SEMANTICA DE ENTRADA Y SALIDASALIDA

ESPECIALIZACION IIIESPECIALIZACION III

Page 2: Semantica De Entrada Y Salida

Cuando se Cuando se generan salidas o estradas generan salidas o estradas semánticas, el software, deberá semánticas, el software, deberá interpretar los caracteres de control interpretar los caracteres de control (tabuladores, saltos de línea etc) u otros (tabuladores, saltos de línea etc) u otros caracteres especiales y realizar la acción caracteres especiales y realizar la acción correspondiente sobre el fichero de salida, correspondiente sobre el fichero de salida, dando como resultado una interpretación dando como resultado una interpretación clara sobre los procesos de entrada y clara sobre los procesos de entrada y salida que se beben tener en casos salida que se beben tener en casos especiales.especiales.

Page 3: Semantica De Entrada Y Salida

Acceso a DatosAcceso a DatosRecorderisRecorderis

Los campos de datos de una clase sólo pueden Los campos de datos de una clase sólo pueden ser accesados por los métodos definidos en esa ser accesados por los métodos definidos en esa clase, Todos los métodos de las subclases clase, Todos los métodos de las subclases pueden accesar los campos en la superclasepueden accesar los campos en la superclase

Método 1 Metodo 1

Metodo 2 Metodo 1Subclase

Clase 1datos subclase

Método 2

Clase 2

No se pueden acceder datos

Datos

Page 4: Semantica De Entrada Y Salida

Reglas de Control de AccesoReglas de Control de Acceso

Las variables y los campos de una clase pueden Las variables y los campos de una clase pueden ser declarados en cualquier parte del programa, ser declarados en cualquier parte del programa, donde se permita una declaración y la definición donde se permita una declaración y la definición de la clase.de la clase.

Si un campo en una subclase y superclase usa Si un campo en una subclase y superclase usa el mismo nombreel mismo nombre La definición de nombres se hace usando reglas de La definición de nombres se hace usando reglas de

scope.scope. Se trata el scope de la subclase dentro del scope de Se trata el scope de la subclase dentro del scope de

la superclasela superclase

Page 5: Semantica De Entrada Y Salida

Regla scopeRegla scope

clase

variable1

scope1

subclase Scope 2

variable1

Para diferenciar las variables idénticas el scope crea un subíndice así:

Scope1,scope2.variable 1 <> scope1.variable1 (MEMORIA)

Crea la diferencia en variables idénticas

Page 6: Semantica De Entrada Y Salida

Generación de código para entrada de Generación de código para entrada de datosdatos

En un lenguaje de programación se tienen diferentes En un lenguaje de programación se tienen diferentes sentencias para la entrada de datos.sentencias para la entrada de datos.

Las producciones de la gramática para dichas sentencias Las producciones de la gramática para dichas sentencias son:son:

Procedimiento - lectura_escritura : Identificación del tipoProcedimiento - lectura_escritura : Identificación del tipoEj: Se define Ej: Se define Fuction validacion (x as string(20)) Fuction validacion (x as string(20)) Procedimiento – lectura_escritura : asignación de Procedimiento – lectura_escritura : asignación de

elemento vector o valorelemento vector o valor

La asignación de valores puede ser numérico, cadenas o La asignación de valores puede ser numérico, cadenas o booleanobooleano

Ej: Llamado y retorno Ej: Llamado y retorno validación Usuario = “pepito” V validación Usuario = “pepito” V validación “existevalidación “existe” ^” ^

Page 7: Semantica De Entrada Y Salida

En las acciones semánticas de los ejemplos En las acciones semánticas de los ejemplos anteriores, además de realizar las anteriores, además de realizar las comprobaciones semánticas habituales, se hace comprobaciones semánticas habituales, se hace uso de la librería “io.o” que son comúnmente uso de la librería “io.o” que son comúnmente definidas en algunos programas de desarrollo de definidas en algunos programas de desarrollo de software, de la siguiente manera:software, de la siguiente manera:

Si la lectura corresponde a un dato de tipo entero Si la lectura corresponde a un dato de tipo entero o booleano, se invoca a la función “lee_entero”, o o booleano, se invoca a la función “lee_entero”, o “lee_boolean” definida en la librería.“lee_boolean” definida en la librería.

Las funciones “lee_entero” y “lee_booleano” Las funciones “lee_entero” y “lee_booleano” tienen como parámetro de entrada la dirección de tienen como parámetro de entrada la dirección de memoria que será destino del dato leído, por lo memoria que será destino del dato leído, por lo tanto, antes de invocar a una de ellas es tanto, antes de invocar a una de ellas es necesario apilar la dirección adecuada.necesario apilar la dirección adecuada.

Page 8: Semantica De Entrada Y Salida

Varcódigo integerNombre string(29)

Librerías IO en memoria

Sección integer(números enteros)

Sección string(cadena de caracteres)

Procedimiento 1

Procedimiento 2

Procedimiento 3

Page 9: Semantica De Entrada Y Salida

La semántica de entrada y salida , asociada a cada La semántica de entrada y salida , asociada a cada

estado, será una cadena de caracteres estado, será una cadena de caracteres

entrecomillas. entrecomillas.

Los caracteres alfanuméricos se pueden representar Los caracteres alfanuméricos se pueden representar

literalmente, pero para permitir el tratamiento de literalmente, pero para permitir el tratamiento de

caracteres ASCII de forma general, se usara caracteres ASCII de forma general, se usara

también la siguiente notación.también la siguiente notación.

Page 10: Semantica De Entrada Y Salida

INTERPRETACION DE INTERPRETACION DE CARACTERES ASCIICARACTERES ASCII

Se podrá representar los caracteres ASCII Se podrá representar los caracteres ASCII mediante su código en decimal, siempre mediante su código en decimal, siempre con tres dígitos, precedido de la barra con tres dígitos, precedido de la barra inversa (y sin espacio en intermedios). inversa (y sin espacio en intermedios). Esto será útil para representar caracteres Esto será útil para representar caracteres de control como son tabulador \009, fin de de control como son tabulador \009, fin de fichero \255, salto de línea \010, retorno fichero \255, salto de línea \010, retorno de carro \013, la barra inversa \092. etc.de carro \013, la barra inversa \092. etc.

Page 11: Semantica De Entrada Y Salida

EJEMPLOSEJEMPLOS

los caracteres “ABC” y “\065\066\067” los caracteres “ABC” y “\065\066\067” representan lo mismo.representan lo mismo.

“ “ \009\010\013” representan un espacio \009\010\013” representan un espacio en blanco seguido de un tabulador y de en blanco seguido de un tabulador y de los caracteres de salto de línea mas los caracteres de salto de línea mas retorno.retorno.

“” “” representa que no se asocia ninguna representa que no se asocia ninguna semántica al estado.semántica al estado.

Page 12: Semantica De Entrada Y Salida

Situaciones de desarrolloSituaciones de desarrollo

Dado en que hay situaciones en que el Dado en que hay situaciones en que el autómata o desarrollador, debe realizar la autómata o desarrollador, debe realizar la misma transición entre dos estados para misma transición entre dos estados para distintos símbolos de entrada, se podrán distintos símbolos de entrada, se podrán resumir varias líneas de transiciones en resumir varias líneas de transiciones en una sola. Para ello se especificaran los una sola. Para ello se especificaran los símbolos de entrada en una lista símbolos de entrada en una lista separados por comas. separados por comas.

Page 13: Semantica De Entrada Y Salida

Para resumir mas aun dichas listas, se Para resumir mas aun dichas listas, se podrán especificar con rangos que podrán especificar con rangos que seguirán el orden numérico y consecutivo seguirán el orden numérico y consecutivo de los códigos ASCII.de los códigos ASCII.

Ej: las tres especificaciones a Ej: las tres especificaciones a continuación serán equivalentes.continuación serán equivalentes.

Page 14: Semantica De Entrada Y Salida

A- A-

Estado1 ‘A’ estado3Estado1 ‘A’ estado3

Estado1 ‘B’ estado3Estado1 ‘B’ estado3

Estado1 ‘C’ estado3Estado1 ‘C’ estado3

B-B-

Estado1 ‘A’, ‘B’, ‘C’ estado3Estado1 ‘A’, ‘B’, ‘C’ estado3

C-C-

Estado1 ‘A’..’C’ estado3Estado1 ‘A’..’C’ estado3

Page 15: Semantica De Entrada Y Salida

Entre los estados y símbolos de esta Entre los estados y símbolos de esta ilustración tiene que haber al menos un ilustración tiene que haber al menos un espacio en blanco.espacio en blanco.

Antes y después de una coma pueden Antes y después de una coma pueden haber uno o mas espacios en blanco.haber uno o mas espacios en blanco.

Antes y después de cada transición puede Antes y después de cada transición puede haber uno o mas saltos de línea.haber uno o mas saltos de línea.

Page 16: Semantica De Entrada Y Salida

En conclusiónEn conclusión A la hora de generar este A la hora de generar este fichero de salida o estrada, el simulador o fichero de salida o estrada, el simulador o software, deberá interpretar los caracteres software, deberá interpretar los caracteres de control (tabuladores, saltos de línea de control (tabuladores, saltos de línea etc) y realizar la acción correspondiente etc) y realizar la acción correspondiente sobre el fichero de salida semántica, sobre el fichero de salida semántica, dando como resultado una interpretación dando como resultado una interpretación clara sobre los procesos de entrada y clara sobre los procesos de entrada y salida que se beben tener en casos salida que se beben tener en casos especiales.especiales.

Page 17: Semantica De Entrada Y Salida

VideoVideo

Muchas gracias Muchas gracias

Fin de la presentaciónFin de la presentación