Compiladores
OBJETIVO: comprender,programar, y diseñar un léxico.
Analizador léxico es el encargado de leer carácter por carácter de un archivo (que contenga código fuente escrito en algún lenguaje de programación especifico) y construirelementos léxicos llamados Patrones que serán utilizados posteriormente por un analizador sintáctico. Un patrón es una pareja ordenada compuesta por un token y un lexema. Un token es el elemento léxicodel lenguaje, es decir el símbolo terminal de una gramática libre de contexto (GLC). Y por ultimo, un lexema es la secuencia de caracteres que coinciden con un token.
Autómata Finito Para elAnalizador Léxico.
Entras: A.Cáracter B.Numero C.Punto D.Símbolo Estados: 0.Inicial 1.Cáracter 2.Cadena 3.Entero 4.Racional 5.Operación 6.Símbolo 7.Punto 8.No se. Tabla de Transición 0 1 A 1 2 B 3 8 C 7 8 D6 8 2 2 8 8 8 3 8 3 4 5 4 8 4 8 5 5 8 5 5 5 6 8 8 5 8 7 8 4 8 8 8 ? ? ? ?
Código
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ packageanalizador.lexico; import import import import import java.sql.Statement; java.sql.Connection; java.sql.DriverManager; java.sql.ResultSet; java.sql.SQLException;
/** * * @author calamitus */ public classAnalizadorL { String ruta = "jdbc:sqlite:" + System.getProperty("user.dir") + "/Reservadas.sqlite"; Connection db_id; Statement stat; public AnalizadorL() throws ClassNotFoundException, SQLException {Class.forName("org.sqlite.JDBC"); db_id = DriverManager.getConnection(ruta); stat = db_id.createStatement(); } public String getRuta() { return ruta; } public void setRuta(String ruta) { this.ruta ="jdbc:sqlite:" + ruta; } public String analiza(String cadena) throws SQLException { String es = automata(cadena); if (es.equals("cadena")) { String sql = "SELECT * FROM Palabras WHERE Palabra=...
Regístrate para leer el documento completo.