blob: ed8714fa42a54bb13b2b748c30b7b032580014e4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
%{
#include <inttypes.h>
%}
%union {
char *s;
uintmax_t n;
};
%token<n> NUMBER
%token<s> TOKEN
%token NEWLINE
%%
program
: /* empty */
| instruction NEWLINE
;
instruction
: bare_instruction
| TOKEN ':' bare_instruction
;
bare_instruction
: TOKEN
| TOKEN operand
| TOKEN operand ',' operand
| TOKEN operand ',' operand ',' operand
;
operand
: TOKEN
| NUMBER
;
|