Ir al contenido principal

Entradas

Mostrando las entradas con la etiqueta lexico

Analizador Lexico en Java usando JFlex

Esta entrada tiene como objetivo mostrar una forma simple de utilizar JFlex en Windows para generar analizadores léxicos que luego pueden ser utilizados en aplicaciones de Java, se incluye una guía en pdf que muestra los pasos necesarios para construir un proyecto en JDeveloper 11g, desarrollar el archivo de especificación del analizador lexico que luego es utilizado por el ejecutable de JFlex para generar el código fuente del analizador lexico (por defecto Yylex.java), luego se crea código de prueba en una aplicación mínima de Java (solo método main) en donde se crea un objeto de la clase del analizador lexico y luego se utiliza para analizar un archivo simple de prueba, token por token mostrando el tipo de cada token (identificador, codigo). archivos necesarios (proyecto de JDeveloper, guia en pdf)

Analizador Lexico C# hecho a mano

Este ejemplo muestra como implementar un analizador léxico simple en C#, usando el DFA como base para construir el autómata en código. El lenguaje que reconoce el analizador léxico esta formado por los elementos básicos de una calculadora de números naturales, los operadores básicos, +, -, /, * ademas detecta y reporta errores léxicos y también espacios en blanco (\t,\n,\r, )  Proyecto original en Visual Studio 2008

Analizador Lexico hecho a mano en C++ QT 4.5

este ejemplo demuestra la implementacion de un analizador lexico a mano en C++, el lenguaje es muy simple, consiste en los elementos basicos de una calculadora, numeros enteros, +, -, *, / y espacios en blanco, ademas incluye el manejo de errores lexicos y contador de lineas y caracteres para localizar cada token en el archivo de entrada.  el dfa utilizado en este ejemplo utiliza un estado final para cada token aunque no sea el dfa minimo, porque esto permite reconocer los tokens en funcion del estado final asociado, esto es mapear un estado final para cada token. y la representacion tabular del automata el ejemplo fue desarrollado en Debian GNU/Linux usando QT4.5 y su entorno de desarrollo QTCreator, aunque el codigo propio del analizador es C++ puro, si se utilizaron clases de la libreria QT para leer el archivo de entrada. codigo fuente ejemplo de salida del analizador TOKEN [100]     NAME[NUMBER]    LINE NUMBER[1]   ...

Java Analizador Léxico y Sintáctico

Este ejemplo muestra como realizar un analizador léxico a mano en java, el analizador léxico reconoce los elementos básicos para una calculadora : "+", "-", "*", "/" ademas de números enteros, también se incluye un analizador sintáctico implementado por descenso recursivo para la siguiente gramática E -> num EP EP -> "+" num EP          | "-" num EP          | epsilon el diagrama de estados del analizador léxico es el siguiente, acompañado de su tabla de transiciones. public class Lexer { private CharReader mLector = null ; private int mNumeroDeLinea = 1 ; private int mNumeroDeCaracter = 1 ; private String mLexema = "" ; //texto del token private boolean hayError = false ; //para saber desde afuera, si hay algun error public static int TOKEN_PALABRA = 1001 ; public...