Tag: FSYACC
Tengo una tarea de la escuela que consiste en hacer un compilador en yacc. Y la pregunta es: PROGRAMA ::= STMT+ STMT ::= EXP | INSTR-DE-IMPR ……. Intenté implementar STMT+ de esta manera: Programa: STMT_PLUS { printf(“¡Programa!\n”); } ; STMT_PLUS : STMT STMT_PLUS {} | ; STMT : STMT {} . . . Read more
Estoy tratando de construir mi compilador en lex y yacc para mi trabajo. He estado intentando durante mucho tiempo pero todavía obtengo un error de sintaxis en la salida. Este es mi yacc: %token <ival> DIGIT %token LOAD %token ADD %token MOD %token SUB %token MUL %token INC %token DEC . . . Read more
%{ #include<stdio.h> %} %start INPUT %union {int num} %token val %type SUM %% INPUT: SUM SUM: ‘(‘SUM ‘+’ SUM’)’ {$$ = $1 + $2} | val {$$ = $1} %% int main(){ return yyparse(); }</stdio.h>
Estoy tratando de medir el rendimiento de mi analizador. A continuación se muestra mi rutina principal, que registra el tiempo antes y después del análisis. No obtengo ninguna salida. Puse una declaración de depuración printf después de la primera llamada a gettimeofday y imprimió correctamente la información inicial de tiempo. . . . Read more
Tengo problemas para usar los tokens en mi código en bison. Definí los tokens de la siguiente manera: define YYSTYPE struct node* typedef struct node{ char* token; node* left; node* right; }node; Y parte de mi gramática es: %token STRING CHARVAL VOID s: code code: rettype name ; rettype: VOID . . . Read more