def p_exp_mod(t): 'Exp : Exp PORCENTAJE Exp' op = Operator("%", t.lineno(2), t.lexpos(2) + 1, None) t[0] = Expresion("E", -1, -1, None) t[0].hijos.append(t[1]) t[0].hijos.append(op) t[0].hijos.append(t[3])
def p_exp_div(t): 'Exp : Exp SLASH Exp' op = Operator("/", t.lineno(2), t.lexpos(2) + 1, None) t[0] = Expresion("E", -1, -1, None) t[0].hijos.append(t[1]) t[0].hijos.append(op) t[0].hijos.append(t[3])
def p_exp_potencia(t): 'Exp : Exp POTENCIA Exp' op = Operator("^", t.lineno(2), t.lexpos(2) + 1, None) t[0] = Expresion("E", -1, -1, None) t[0].hijos.append(t[1]) t[0].hijos.append(op) t[0].hijos.append(t[3])
def p_exp_mult(t): 'Exp : Exp ASTERISCO Exp' op = Operator("*", t.lineno(2), t.lexpos(2) + 1, None) t[0] = Expresion("E", -1, -1, None) t[0].hijos.append(t[1]) t[0].hijos.append(op) t[0].hijos.append(t[3])
def p_exp_resta(t): 'Exp : Exp MENOS Exp' op = Operator("-", t.lineno(2), t.lexpos(2) + 1, None) t[0] = Expresion("E", -1, -1, None) t[0].hijos.append(t[1]) t[0].hijos.append(op) t[0].hijos.append(t[3])
def p_exp_menorigual(t): 'Exp : Exp MENORIGUAL Exp' op = Operator(t[2], t.lineno(2), t.lexpos(2) + 1, None) t[0] = Expresion("E", -1, -1, None) t[0].hijos.append(t[1]) t[0].hijos.append(op) t[0].hijos.append(t[3])
def p_exp_mayor(t): 'Exp : Exp MAYORQUE Exp' op = Operator(t[2], t.lineno(2), t.lexpos(2) + 1, None) t[0] = Expresion("E", -1, -1, None) t[0].hijos.append(t[1]) t[0].hijos.append(op) t[0].hijos.append(t[3])
def p_exp_desigualdad(t): 'Exp : Exp DIFERENTEQUE Exp' op = Operator(t[2], t.lineno(2), t.lexpos(2) + 1, None) t[0] = Expresion("E", -1, -1, None) t[0].hijos.append(t[1]) t[0].hijos.append(op) t[0].hijos.append(t[3])
def p_exp_identificado(t): 'Exp : IDENTIFICADOR' t[0] = Expresion("E", -1, -1, None) idExp = Identificator_Expresion("Identificador", t.lineno(1), t.lexpos(1) + 1, t[1]) t[0].hijos.append(idExp)
def p_exp_boolean(t): '''Exp : FALSE | TRUE''' t[0] = Expresion("E", -1, -1, None) boolExp = Boolean_Expresion("Boolean", t.lineno(1), t.lexpos(1) + 1, t[1]) t[0].hijos.append(boolExp)
def p_exp_cadena(t): 'Exp : CADENA' t[0] = Expresion("E", -1, -1, None) charExp = Char_Expresion("Cadena", t.lineno(1), t.lexpos(1) + 1, t[1]) t[0].hijos.append(charExp)
def p_exp_decimal(t): 'Exp : NUMDECIMAL' t[0] = Expresion("E", -1, -1, None) numExp = Numeric_Expresion("Decimal", t.lineno(1), t.lexpos(1) + 1, t[1]) t[0].hijos.append(numExp)
def p_exp_entero(t): 'Exp : ENTERO' t[0] = Expresion("E", -1, -1, None) numExp = Numeric_Expresion("Entero", t.lineno(1), t.lexpos(1) + 1, t[1]) t[0].hijos.append(numExp)