0% encontró este documento útil (0 votos)
138 vistas4 páginas

Ejercicios Flex

Este documento presenta una hoja de ejercicios sobre procesadores de lenguaje para un curso de ingeniería informática. Incluye seis ejercicios que involucran la creación de programas en Flex para contar palabras, sumar números, reemplazar palabras y analizar léxicamente un pseudocódigo. También describe los componentes léxicos fundamentales de un lenguaje de pseudocódigo como palabras reservadas, identificadores, números, cadenas y operadores.

Cargado por

Heinner Barbosa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
138 vistas4 páginas

Ejercicios Flex

Este documento presenta una hoja de ejercicios sobre procesadores de lenguaje para un curso de ingeniería informática. Incluye seis ejercicios que involucran la creación de programas en Flex para contar palabras, sumar números, reemplazar palabras y analizar léxicamente un pseudocódigo. También describe los componentes léxicos fundamentales de un lenguaje de pseudocódigo como palabras reservadas, identificadores, números, cadenas y operadores.

Cargado por

Heinner Barbosa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROCESADORES DE LENGUAJE

Ingeniería Informática
Especialidad de Computación
Tercer curso
Segundo cuatrimestre

Departamento de Informática y Análisis Numérico


Escuela Politécnica Superior de Córdoba
Universidad de Córdoba

Curso académico 2014 – 2015

Hoja de ejercicios de FLEX

1. Sumar
 Codifica un programa en flex que copie el archivo de entrada en
uno de salida, sumando 5 a todo número positivo que sea múltiplo
de 4.
 Ejemplo

Entrada.txt
1 2 3 4
5 6 7 8
9 10 11 12

Salida.txt
1 2 3 9
5 6 7 13
9 10 11 17

 Observación:
o Se recomienda usar la función atoi() de C que transforma una
cadena de caracteres en su valor entero.

2. Sumar parametrizado
 Codifica un programa en flex que copie el archivo de entrada en
uno de salida, sumando N1 a todo número positivo que sea múltiplo
de N2, donde N1 y N2 son dos números pasados como argumentos
desde la línea de órdenes.
 Ejemplo: ./sumar_parametrizado.exe Entrada.txt Salida.txt 4 5

Entrada.txt
1 2 3 4
5 6 7 8
Procesadores de Lenguajes Hoja de ejercicios de Flex

9 10 11 12

Salida.txt
1 2 3 9
5 6 7 13
9 10 11 17

 Observación:
o Se recomienda usar la función atoi() de C que transforma una
cadena de caracteres en su valor entero.

3. Contar
 Elaborar un programa de flex que reciba un fichero de texto y
cuente el número de caracteres, palabras y líneas que contiene.

4. Contar apariciones de una palabra


 Codifica un programa flex que reciba un fichero de texto y una
palabra y cuente el número veces que aparece dicha palabra en el
fichero.

5. Sustitución de una palabra


 Codifica un analizador que reemplace una palabra por otra en un
fichero de entrada.
 Ambas palabras, así como el nombre del fichero deberán ser
introducidos por el usuario, bien a través de la línea de comandos o
cuando el usuario ejecute el programa.

6. Analizador léxico de pseudocódigo


 Codifica un analizador léxico que permita reconocer los
componentes léxicos de un programa escrito en pseudocódigo.

 Palabras reservadas
o inicio, fin, __mod, __o, __y, __no, leer, escribir, si,
entonces, si_no, fin_si, mientras, hacer, fin_mientras,
repetir, hasta_que, para, desde, hasta, paso, fin_para.
o No se distinguirá entre mayúsculas ni minúsculas.
o Las palabras reservadas no se podrán utilizar como
identificadores.

 IDENTIFICADOR
o Características
 Estarán compuestos por una serie de letras, dígitos y el
subrayado;
 Deben comenzar por una letra,

2
Procesadores de Lenguajes Hoja de ejercicios de Flex

No podrán acabar con el símbolo de subrayado, ni tener


dos subrayados consecutivos.
 No se distinguirá entre mayúsculas ni minúsculas.
o Ejemplos
 Identificadores válidos:
dato, dato_1, dato_1_a
 Identificadores no válidos:
_dato, dato_, dato__1

 NÚMERO
o Se utilizarán números enteros, reales de punto fijo y reales
con notación científica.
o Todos ellos serán tratados conjuntamente como números.

 CADENA
o Estará compuesta por una serie de caracteres delimitados por
comillas simples:
‘Ejemplo de cadena’
o Deberá permitir la inclusión de la comilla simple utilizando la
barra (\):
‘Ejemplo de cadena con \’ comillas\’ simples’.
o Nota:
 Las comillas exteriores no formarán parte de la cadena.

 Operador de asignación
o ASIGNACIÓN: :=

 Operadores aritméticos:
o SUMA: +
o RESTA: -
o PRODUCTO: *
o DIVISIÓN: /
o MÓDULO: __mod
o POTENCIA: **

 Operador alfanumérico:
o CONCATENACIÓN: ||

 Operadores relacionales de números y cadenas:


o MENOR_QUE: <
o MENOR_IGUAL_QUE: <=
o MAYOR_QUE: >
o MAYOR_IGUAL_QUE: >=
o IGUAL: ==
o DISTINTO: <>
o Por ejemplo:

3
Procesadores de Lenguajes Hoja de ejercicios de Flex

 Si A es una variable numérica y control una variable


alfanumérica, se pueden generar las siguientes
expresiones relacionales:
(A >= 0)
(control <> ‘stop’)

 Operadores lógicos:
o DISYUNCIÓN_LÓGICA: __o
o CONJUNCIÓN_LÓGICA: __y
o NEGACIÓN_LÓGICA: __no
o Por ejemplo:
(A >= 0) __y __no (control <> ‘stop’)

 Comentarios
o De varias líneas: delimitados por (* y *)

(* ejemplo maravilloso
de comentario
de tres líneas *)

o De una línea:
 Todo lo que siga al carácter # hasta el final de la línea.

# ejemplo espectacular de cometario de una línea

 Otro componentes léxicos


o FIN_SENTENCIA: ;
o Paréntesis
 Izquierdo: (
 Derecho: )

 Control de errores
o El intérprete deberá controlar toda clase de errores:
 Identificador mal escrito.
 Números mal escritos.
 Utilización de símbolos no permitidos.
 Etc.

 Prueba
o Se deberá comprobar el funcionamiento del analizador léxico
usando tres ficheros:
 Fichero denominado Newton.txt
 ejemplo_1.txt: fichero original sin errores.
 ejemplo_2.txt: fichero original con errores.

También podría gustarte