Skip to content
Snippets Groups Projects
Commit 384f5627 authored by marivil's avatar marivil
Browse files

Sin printf

parent 56951529
Branches main
No related tags found
1 merge request!1Arbol
......@@ -196,8 +196,6 @@ static double expr(ast_t *root)
return dv(root);
case CHAR:
return cv(root);
case STR:
return read(sv(root));
case IDENT:
return read(sv(root));
case SIN:
......@@ -328,9 +326,6 @@ static void proc(ast_t *root)
printf("%s%g\n", sv(left(root)), expr(right(root)));
}
break;
case PRINTF:
printf(sv(left(root)), expr(right(root)));
break;
case SCAN:
if (left(root) == NULL)
{
......
......@@ -14,7 +14,7 @@
#include "token.h"
#include "astree.h"
#define KWLEN 17 /* Número de palabras clave del lenguaje */
#define KWLEN 16 /* Número de palabras clave del lenguaje */
/* Palabras clave del lenguaje
(Ordenadas alfabéticamente) */
char *keywords[KWLEN] = {
......@@ -28,7 +28,6 @@ char *keywords[KWLEN] = {
"mcd",
"mcm",
"print",
"printf",
"sin",
"tan",
"var",
......@@ -49,7 +48,6 @@ unsigned keycodes[KWLEN] = {
MCD,
MCM,
PRINT,
PRINTF,
SIN,
TAN,
VAR,
......
......@@ -66,7 +66,7 @@ static ast_t *astRoot = NULL;
%token <s> STR
%token <s> CHAR
%type <s> expresion cuerpo ternario sentencia elemprog prog condicional mientras funcionSistema asignacion print
%type <s> expresion cuerpo ternario sentencia elemprog prog condicional mientras funcionSistema asignacion print scan
%%
......@@ -195,15 +195,9 @@ funcionSistema
{
$$ = $1;
}
| SCAN '(' IDENT ')'
| scan
{
$$.flag = fAST;
$$.u.ast = mkNd(SCAN, NULL, mkSlf(IDENT,$3.u.vStr));
}
| SCAN '(' STR ',' IDENT ')'
{
$$.flag = fAST;
$$.u.ast = mkNd(SCAN, mkSlf(STR,$3.u.vStr), mkSlf(IDENT,$5.u.vStr));
$$ = $1;
}
;
......@@ -223,12 +217,20 @@ print
$$.flag = fAST;
$$.u.ast = mkNd(PRINT, mkSlf(STR,$3.u.vStr), $5.u.ast);
}
| PRINTF '(' STR ',' IDENT ')'
;
scan
: SCAN '(' IDENT ')'
{
$$.flag = fAST;
$$.u.ast = mkNd(PRINTF, mkSlf(STR,$3.u.vStr), mkSlf(IDENT,$5.u.vStr));
$$.u.ast = mkNd(SCAN, NULL, mkSlf(IDENT,$3.u.vStr));
}
| SCAN '(' STR ',' IDENT ')'
{
$$.flag = fAST;
$$.u.ast = mkNd(SCAN, mkSlf(STR,$3.u.vStr), mkSlf(IDENT,$5.u.vStr));
}
;
ternario
: ternario '?' ternario ':' ternario
{
......@@ -340,11 +342,6 @@ expresion
$$.flag = fAST;
$$.u.ast = mkClf(CHAR,$1.u.vChar);
}
| STR
{
$$.flag = fAST;
$$.u.ast = mkSlf(STR,$1.u.vStr);
}
| IDENT
{
$$.flag = fAST;
......
......@@ -28,10 +28,9 @@ if (x_ > 10 || !true)
var character = 'a';
print(character);
var cadena = "HOLA AMIGOS DE YOUTUBE :D";
print(cadena);
var cadena = 2;
print("COoooooooooooooosa", character);
var nuevavariable = " ";
//scan("HOLA AMIGOS ", nuevavariable);
print(nuevavariable);
/* HOLA PUTA*/
\ No newline at end of file
var x;
scan
//print(cadena);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment