Académique Documents
Professionnel Documents
Culture Documents
PROCESO
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:
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
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.