Analizador Sintactico, Precompilador
Enviado por cesareo232 • 28 de Mayo de 2015 • 895 Palabras (4 Páginas) • 344 Visitas
import javax.swing.*;
import javax.swing.JFileChooser;
import java.awt.event.*;
import java.awt.*;
import java.awt.Font;
import java.lang.*;
import java.util.Timer;
import java.util.TimerTask;
import java.util.StringTokenizer;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class asintactico extends Elementos{
JButton btnAnalizar,btnExminar;
JTextArea editor,numlineas,resultados;
JLabel texto;
String nA,camino;
String palReservadas[]={"for",
"while",
"if",
"else",
"int",
"String",
"Double",
"System",
"out",
"println"};
String separadores[]={"(",
")",
"{",
"}",
";",
".",
"'"};
String operadores[]={"*",
"+",
"-",
"/",
"<",
">",
"<=",
">=",
"==",
"!=",
"++",
"="};
String diccionario[]={"for","(","v","op","d",";","v","op","d",";","v","op",")","{","}",
"if","(","v","op","d",")","{","}","else","{","}",
"while","(","v","op","d",")","{","}",
"System",".","out",".","println","(","v",")",";",
"int","v","op","d",";",
"v","op","v","op","d",";"};
String errores[]={"Declaracion o palabra Reservada","(","Variable","Asignacion u Operador","Inicializar Variable",";","Variable","Asignacion u Operador","Inicializar Variable",";","Variable","Operador",")","{","}",
"","(","Variable","Asignacion u Operador","Inicializar Variable",")","{","}","else","{","}",
"","(","Variable","Asignacion u Operador","Inicializar Variable",")","{","}",
"System","Separador .","out","Separador .","println","(","Variable o Cadena",")",";",
"","Variable","Asignacion u Operador","Inicializar Variable",";",
"Variable","Asignacion u Operador","Variable","Asignacion u Operador","Inicializar Variable",";"
};
private Font fuente= new Font("Arial", Font.BOLD,16);
public asintactico(){
setTitle("ANALIZADORO");
Container c=getContentPane();
c.setLayout(new FlowLayout());
numlineas=new JTextArea();
numlineas.setFont(FUENTE);
numlineas.setBackground(new Color(149,245,165));
numlineas.setForeground(AZUL_CLARO);
numlineas.setEditable(false);
numlineas.setPreferredSize(new Dimension(25,400));
numLines(numlineas);
editor=new JTextArea();
editor.setFont(FUENTE);
editor.setBackground(new Color(149,245,165));
editor.setForeground(NEGRO);
editor.setPreferredSize(new Dimension(310,400));
resultados=new JTextArea();
resultados.setFont(FUENTE);
resultados.setPreferredSize(new Dimension(380,100));
resultados.setBackground(new Color(149,245,165));
JToolBar barraSup=new JToolBar();
texto=new JLabel("Escriba aqui el Codigo y Presione Analizar o Examine un Archivo");
barraSup.add(texto);
JToolBar barraInf=new JToolBar();
btnAnalizar=crearBoton("Analizar","Analiza el Codigo del Editor",true);
btnAnalizar.setFont(fuente);
btnAnalizar.addActionListener(new click());
btnExminar=crearBoton("Examinar...","Abrir archivo externo *.txt",true);
btnExminar.setFont(fuente);
btnExminar.addActionListener(new click());
barraInf.addSeparator();
barraInf.add(btnAnalizar);
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.addSeparator();
barraInf.add(btnExminar);
c.add(barraSup,BorderLayout.NORTH);
c.add(new JScrollPane(numlineas));
c.add(new JScrollPane(editor));
c.add(new JScrollPane(resultados));
c.add(barraInf,BorderLayout.SOUTH);
setSize(390,610);
setVisible(true);
setResizable(false);
}
public void numLines(JTextArea t){
String n="";
for (int i=1;i<27 ;i++ ) {
n+=i+"\n";
...