lunes, 13 de enero de 2014

Tokens

Vamos a inventarnos un lenguaje de programación muy simple , que nos va a permitir declarar variables de tipo básicos como enteros , reales , booleanos , caracteres.Asi como la definición de instrucciones básicas de control de flujo si/si_no y mientras que darán lugar al código intermedio
Un ejemplo del lenguaje
            {esto es una prueba}
            INICIO  
                var entero x,z,p fvar
                si x  >  z  entonces
                    x := x +p
                [ ]
                    z := z +p
                fsi
            FiN

El código intermedio se genera en tiempo de compilación por lo que desconocemos el valor que tomaran las variables que no sean constantes,por ese motivo no declararemos un token literal_entero que identificara una constante entera.

LOS TOKENS

IDENTIFICADOR
Son los nombres de variables.
Los nombre de las variables han de empezar por una letra mayúscula o miniscula seguido de un número indefinido de letras o digitos
digito -> [0-9]
letra -> [aA-zZ]
letra_o_digito -> letra|digito
identificador  -> letra letra_o_digito*
               
PALABRAS RESERVADAS
Son las palabras entero,real,booleano,string,char,si,entonces,fsi,mientras fmientras,hacer
,y,o,no,var,fvar,inicio,fin,para,fpara.
Nota tanto ENTERO,eNtero o algunas del resto de las combinaciones deben de considerarse como la palabra reservada “entero” ,igual pasa con el resto de palabras reservadas.

OTROS TOKENS
                ()  parentesis
                [ ]  en_caso_contrareo
                "," separador
                “ : “ definición del tipo de variable
                “:=” asignación
                “+,-,*,/” operadores operaciones matemáticas básicas
                “>,<,>=,<=,==” operadores relacionales

COMENTARIOS
   Aparecen al principio del programa, van entre conchetes.Ejemplo {codigo de /}prueba } . Si se quiere meter otro corchete dentro del comentario a de estar precedido por "/".


No hay comentarios:

Publicar un comentario