Skip to content
Snippets Groups Projects
Commit 24a734b6 authored by marivil's avatar marivil
Browse files

Funciona incremento/decremento y asignacion

parent ee1e29fd
No related branches found
No related tags found
1 merge request!1Arbol
......@@ -85,7 +85,7 @@ WSPCS ({WSPC}+)
FLOAT ({FLOAT1}|{FLOAT2}|{FLOAT3})
OP1 ([-+/*=<>?:()!^\{\},])
OP2 ("=="|"!="|"<="|">="|"&&"|"||"|"++"|"--")
OP2 ("=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|"+="|"-=")
STRSTART (["])
CHAR (\'.?\')
......@@ -169,10 +169,20 @@ COMMULT (\\\*.*\*\/)
return AND;
case '|':
return OR;
case '+':
switch(yytext[1]){
case '+':
return MASMAS;
case '=':
return MASIGUAL;
}
case '-':
switch(yytext[1]){
case '-':
return MENOSMENOS;
case '=':
return MENOSIGUAL;
}
}
}
......
......@@ -53,7 +53,7 @@ static ast_t *astRoot = NULL;
%left '+' '-'
%left '*' '/'
%right MASMAS MENOSMENOS
%right MASMAS MENOSMENOS MASIGUAL MENOSIGUAL
%right '^'
......@@ -180,6 +180,16 @@ asignacion
$$.u.ast = mkNd('=', mkSlf(IDENT,$2.u.vStr), mkNd('-', mkSlf(IDENT,$2.u.vStr), mkDlf(FLOAT, 1.0)));
}
| VAR IDENT MENOSIGUAL FLOAT
{
$$.flag = fAST;
$$.u.ast = mkNd('=', mkSlf(IDENT,$2.u.vStr), mkNd('-', mkSlf(IDENT,$2.u.vStr), mkDlf(FLOAT, $4.u.vFloat)));
}
| VAR IDENT MASIGUAL FLOAT
{
$$.flag = fAST;
$$.u.ast = mkNd('=', mkSlf(IDENT,$2.u.vStr), mkNd('+', mkSlf(IDENT,$2.u.vStr), mkDlf(FLOAT, $4.u.vFloat)));
}
;
funcionSistema
......
//(10 < 11);
//? print("Hola"); : print("Adios");
var x = 5;
var x--;
var x += 2;
print(x);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment