Vous êtes sur la page 1sur 5

ENTRADA SALIDA

PROCESO

Entrada: Archivo(.txt) conteniendo un cdigo escrito en el lenguaje C++ (sin errores).

Proceso: Aplicacin

Salida: El archivo ingresado con las variables y funciones del cdigo que contiene, cambiados.
Proceso: Aplicacin

1.1 .- buffer():
Esta funcin captura los caracteres presentes por cada rengln hasta el salto de lnea y lo
guarda en un Array(buffer).
Ejemplo:
Ingresa: hola(){
int a;
}

Devuelve:
List buffer= hola(){ int a; }
0 1 2

1.3.- Scanner():

Esta funcin funcin agrupa cada String de la lista dada(buffer) por la funcin
anterior(buffer()) separando componentes lxicos, separadores de tokens y agregando el
smbolo /0 cada salto de lnea y las devuelve en un Array(tokenList)

Ejemplo:

Ingresa: List buffer= hola(){ int a; }


0 1 2

Devuelve:
List tokenList= hola ( ) { /0 int a ; /0 } /0
0 1 2 3 4 5 6 7 8 9 10 11
1.2.- LexicalComponentClasifier()

Esta funcin clasifica cada uno de los componentes lxicos del array recibido(tokenList)
Y los guarda y devuelve en otro array(lc)
Clasificacin:
1. <SS>
Smbolos especiales: ( , ),{ , } ,[, ], , |,#,etc

2. <OP>
Operadores : +,-,=,/,*,etc

3. <ID>
Identificadores: variables definidas por el usuario;

4. <RW>
Palabras reservadas: if,else,while,main,namespace,etc (estas estn definidas en el
archivo: ReservedWordsC++.txt)

5. <DT>
Tipo de datos: int,double,char,boolean,void, long, String, unsigned,etc (estas
palabras estn definidas en el archivo: dataTypesC++.txt)

6. <DL>
Separadores de tokens: espacios en blanco, tabulaciones,etc

1.3 .- Funcin: varIdentifier()


Esta funcin tiene la tarea de identificar cuando se declaran variables e indicar su
posicin en el arreglo entregado (lc) .

-Para esto utiliza el AFD(ignora <DL>) sgte:


1.4.- Funcin: functionIdentifier()
Esta funcin tiene la tarea de identificar cuando se declara una funcion e indicar su
posicin en el arreglo entregado (lc) .

-Para esto utiliza el AFD(ignora <DL>) sgte:

Recibe:
List lc= <ID> <SS> <SS> <SS> /0 <DT> <DL> <ID> <SS> /0 <SS> /0

Devuelve:
List flist= 0

1.5.- changeVarList()
Esta devuelve la variable a cambiar y el nombre por el que ser cambiado, almacenado
en un Array (vchanged).
Ejemplo:

Recibe:
List vlist= 7

0
Devuelve:
List vchanged= a V0
0
1.5.- changeFuncList()
Esta devuelveel nombre de la funcin a cambiar y el nombre por el que ser cambiado,
almacenado en un Array (fchanged).
Ejemplo:

Recibe:
List flist= 0

0
Devuelve:
List fchanged= 0 F0

0 1
1.6.- Funcin: createFile()
Esta funcin recibe las listas devueltas por las ltimas funciones mencionadas, crea y
escribe en el nuevo archivo realizando los cambios indicados en dichas listas.

1.7.- Limitaciones: no reconoce tipos de datos creados por el usuario (struct).

Vous aimerez peut-être aussi