martes, 28 de agosto de 2012

Clases para el proyecto compilador

Principal


public class LectorTexto {
static boolean res_com=false;
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        archivo a=new archivo();
        compilar co=new compilar();      
        Integer linea=0;
        String p=a.leerGrafico();
        Integer nu=a.contarlineas(p);
        while(linea        String l=a.leerLinea(linea, p);
        res_com=co.compilar(l);
        if(res_com!=true){
        System.out.println("Error de sintaxis en la linea "+linea);  
        }
        linea++;
    }
    }
}


Particionamiento del Archivo

import java.io.*;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;

public class archivo {


  

    File f;
    FileReader lectorArchivo;


     public  String leerGrafico()
    {
   
        JFileChooser j= new JFileChooser();
        File f1=new File("C:\\Users\\usuario\\Desktop");
        j.setCurrentDirectory(f1);
        FileNameExtensionFilter filter = new FileNameExtensionFilter(".txt","txt");
        j.setFileFilter(filter);
        j.showOpenDialog(j);
        String path= j.getSelectedFile().getAbsolutePath();
        String lectura="";
        f = new File(path);
        try{
        FileReader fr = new FileReader(f);
        BufferedReader br = new BufferedReader(fr);
        String aux;
        while((aux = br.readLine())!=null) {
                lectura = lectura+aux+"\n";
            }
        }catch(IOException e){}
        return lectura;
    }
  

public Integer contarlineas (String cadena){
    int x=0,num=0;
    while(x
        if(cadena.charAt(x)=='\n'){
            num++;
        }
        x++;
    }
    return num;
}
     
     public String leerLinea(Integer lin, String cadena){
     
         Integer a;
         String linea="";
         for(int i=0;i<=lin;i++){
         a=cadena.indexOf("\n");
         linea=cadena.substring(0, a);
         cadena=cadena.substring(a+1, cadena.length());
         }
         
         return linea;
    }

public String palabras(String cadena, int pal){
        
    
    
    if(pal==0)
    {
    cadena=cadena.substring(0,cadena.indexOf(" "));    
    }
    else
    {
    cadena=cadena.substring(cadena.indexOf(" ")+1,cadena.length());    
    }
    return cadena;
}

    
}



Compilar (preliminar)


public class compilar {
    
    
    public boolean compilar(String l){
        String pal="",par="";
        archivo p=new archivo();
        if(l.equals("inicio")){
        return true;   
        }
                
        if(l.equals("fin")){
        return true;
        }
        
        pal=p.palabras(l,0);
        
        if(pal.equals("escribir")){
        par=p.palabras(l, 1);
            System.out.println(par);
            
            return true;    
        }
        
        
        return false;
    }
    
    
}




No hay comentarios:

Publicar un comentario