Vous êtes sur la page 1sur 2

Alfabeto:

Σ={a, b, c, d, e, f, g, h, i ,j ,k ,l ,m ,n , o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J,
K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, -, *, /, =, (, ), ;, . }
Tabla Tokens:

Token Lexema Expresión Regular Descripción


NUM_ENTERO 4, 9, 12, 25 [0-9]* |
NUM_DECIMAL 2.52, 10.20456, 25.0, [0-9]*\.[0-9]*
14.80
ID suma, multi [a-zA-Z]*
OP_SUM + +
OP_RES - -
OP_MUL * *
OP_DIV / /
OP_ IGUAL = =
PARENTESIS_A ( (
PARENTESIS_C ) )
PUNTO . .
DELIMITADOR ; ;
PR_START START START
PR_END END END
PR_INT Int Int
PR_FLOAT Float Float
Gramática.

programa := START secuencia_instrucciones END


secuencia_instrucciones := instrucciones secuencia_instrucciones | instrucciones
instrucciones := exp_parentesis | declaracion | asignacion
declaracion := tipo_dato variable
asignacion : = variable OP_IGUAL exp_parentesis | expresion
exp_parentesis := PARENTESIS_A expresion PARENTESIS_C
expresion := expresion operador factor | factor
factor := expresion_parentesis | exp | numero | variable
tipo_dato := Int, Float
operador := + | - | * | /
variable := ID
Numero := NUM_ENTERO | NUM_DECIMAL

Vous aimerez peut-être aussi