Analizador lexico
import java.io.*;
public class LexTrad{
int code,data,heap,stack;
String archDir;
Scanner scanner;
Vector codF;
Vector codM;
Vectorvars;
Vector etqs;
Vector palR;
Vector toks;
Vector lexs;
File arch;
FileReader fr;
BufferedReader br;
FileWriter fw;
PrintWriter pw;public LexTrad(){
}
public LexTrad(String[] arg){
heap=25;
stack=25;
if(arg.length==2){
heap=Integer.parseInt(arg[0]);stack=Integer.parseInt(arg[1]);
}
inicio();
}
public void escribe(String c){
System.out.println(c);
}
public void inicio(){
int noLin=0;codF = new Vector();
codM = new Vector();
vars = new Vector();
etqs = new Vector();
palR = new Vector();
toks = new Vector();lexs = new Vector();
llenaPalRes();
Scanner scan = new Scanner(System.in);
escribe("Escribe la ubicacion del archivo fuente (.asm)");archDir = scan.nextLine();
//archDir = "c:\users\user\ola.asm";
try{
File arch = new File(archDir);
FileReader fr = new FileReader(arch);BufferedReader br = new BufferedReader(fr);
String linea;
while((linea=br.readLine())!=null){
noLin++;
if(revIni(linea.charAt(0))){//escribe(linea);
codF.add(linea);
}else{
escribe("Error: Elemento desconocido en la linea "+ noLin);System.exit(0);
}
}
fr.close();
}catch(Exception e){
escribe("Error: "+e.getMessage());
System.exit(0);
}...
Regístrate para leer el documento completo.