Analizador léxico PSeInt (proyecto)

Enunciado del problema

Dado el código fuente de un programa en PSeInt, su tarea consiste en realizar el análisis léxico sobre dicho código de acuerdo a las especificaciones dadas. Para realizar la implementación se podrán únicamente los siguientes lenguajes de programación: Python 3, C/C++ y Java.


Entrada

Su programa debe recibir por la entrada estándar el código fuente de un programa escrito en el lenguaje de programación PSeInt. Para evaluar el analizador léxico de forma automática su programa debe realizar el análisis léxico de la entrada dada y generar la salida adecuada, de acuerdo a las especificaciones dadas. Las salidas se deben generar por la salida estándar.


Salida

Listado de tokens identificado de acuerdo con la especificación.


Ejemplos


Entrada Ejemplo 1

Proceso
    entero
    Definir reAl
    MienTras
    finsi
FinProceso

Salida Ejemplo 1

<proceso,1,1>
<entero,2,5>
<definir,3,5>
<real,3,13>
<mientras,4,5>
<finsi,5,5>
<finproceso,6,1>

Entrada Ejemplo 2

algoritmo mi_algoritmo
    Definir a como Entero
    a
    Definir B como real
    b
FinProceso

Salida Ejemplo 2

<algoritmo,1,1>
<id,mi_algoritmo,1,11>
<definir,2,5>
<id,a,2,13>
<como,2,15>
<entero,2,20>
<id,a,3,5>
<definir,4,5>
<id,b,4,13>
<como,4,15>
<real,4,20>
<id,b,5,5>
<finproceso,6,1>

Nota

Para subir un proyecto en un archivo comprimido debe tener en cuenta la siguiente documentación.



Lexer - PSeInt


Select your language

Max file size: 9.5MB
Allowed extensions: .zip, .tar.gz, .tar.bz2