You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
494 B
25 lines
494 B
3 years ago
|
%{
|
||
|
#include <stdlib.h>
|
||
|
#include "parser.h"
|
||
|
int yylex(void);
|
||
|
void yyerror(char *);
|
||
|
extern int yylineno;
|
||
|
%}
|
||
|
|
||
|
|
||
|
%union {
|
||
|
char vinstr_name[20];
|
||
|
unsigned long long imm_val;
|
||
|
}
|
||
|
|
||
|
%token <vinstr_name> VINSTR
|
||
|
%token <imm_val> IMM
|
||
|
|
||
|
%%
|
||
|
PROGRAM:
|
||
|
VINSTR { parse_t::get_instance()->add_vinstr($1); }
|
||
|
| VINSTR IMM { parse_t::get_instance()->add_vinstr($1, $2); }
|
||
|
| PROGRAM VINSTR { parse_t::get_instance()->add_vinstr($2); }
|
||
|
| PROGRAM VINSTR IMM { parse_t::get_instance()->add_vinstr($2, $3); }
|
||
|
;
|
||
|
%%
|