projects
/
henge
/
webcc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
prototype IR and parser
[henge/webcc.git]
/
src
/
apc
/
parser.y
diff --git
a/src/apc/parser.y
b/src/apc/parser.y
index
fdbb56f
..
ffc672d
100644
(file)
--- a/
src/apc/parser.y
+++ b/
src/apc/parser.y
@@
-27,8
+27,8
@@
%token VOPEN
%token VCLOSE
%token VOPEN
%token VCLOSE
-%token
RLS
//!
-%token
RL
E //#
+%token
QOPEN
//!
+%token
QCLOS
E //#
%token RT //*
%token HB
%token MOD
%token RT //*
%token HB
%token MOD
@@
-51,9
+51,9
@@
%token <int> HEIGHT
%token <int> NUM_PTRS
//precedence
%token <int> HEIGHT
%token <int> NUM_PTRS
//precedence
-%precedence L
OW
-%precedence M
ED
-%precedence H
IGH
+%precedence L
P
+%precedence M
P
+%precedence H
P
/* Syntax Directed Translation Scheme of the APC grammar */
/* Syntax Directed Translation Scheme of the APC grammar */
@@
-74,7
+74,7
@@
NAME CLOPEN {push_cdat($1);} class_block CLCLOSE {pop_cdat();};
class_block:
class_list
class_block:
class_list
-| class_list set_list
+| class_list set_list
| set_list
;
| set_list
;
@@
-86,17
+86,14
@@
set_list set
root:
RT NUM NUM NUM {insert_root($2, $3, $4);};
;
root:
RT NUM NUM NUM {insert_root($2, $3, $4);};
;
-quad_list:
-RLS quads RLE
-;
-quad
s
:
-quad
s
quad
+quad
_list
:
+quad
_list
quad
| quad
;
quad:
| quad
;
quad:
-
NUM NUM NUM REF {insert_quad($1, $2, $3, $4
);};
+
QOPEN NUM NUM NUM REF QCLOSE {insert_quad($2, $3, $4, $5
);};
hitbox:
HB NUM {insert_hitbox($2);}
hitbox:
HB NUM {insert_hitbox($2);}
@@
-123,8
+120,8
@@
SOPEN set_label element_list set_map_data vdat SCLOSE
set_label:
set_label:
-H
IGH
NAME REF {insert_set_label($2,$3);};
-| L
OW
NAME {insert_set_label($2, -1);};
+H
P
NAME REF {insert_set_label($2,$3);};
+| L
P
NAME {insert_set_label($2, -1);};
;
set_svlink:
;
set_svlink:
@@
-141,13
+138,13
@@
REF
//parent_id is the set_index of the subclass_index.
element_list:
//parent_id is the set_index of the subclass_index.
element_list:
-element_list element M
ED
-| element L
OW
+element_list element M
P
+| element L
P
;
ele_label:
;
ele_label:
-H
IGH
NAME REF {insert_ele_label($2, $3);};
-| L
OW
NAME {insert_ele_label($2, -1);};
+H
P
NAME REF {insert_ele_label($2, $3);};
+| L
P
NAME {insert_ele_label($2, -1);};
;
ele_vlink:
;
ele_vlink:
@@
-178,20
+175,20
@@
model_list model
;
model:
;
model:
-spritesheet L
OW
+spritesheet L
P
;
spritesheet:
;
spritesheet:
-spritesheet H
IGH
framesheet
+spritesheet H
P
framesheet
| framesheet
;
framesheet:
| framesheet
;
framesheet:
-SSD NAME REF HEIGHT WIDTH NUM_PTRS frame_pointers L
OW
{insert_framesheet($1, $2, $3, $4, $5, $6);};
+SSD NAME REF HEIGHT WIDTH NUM_PTRS frame_pointers L
P
{insert_framesheet($1, $2, $3, $4, $5, $6);};
;
frame_pointers:
;
frame_pointers:
-frame_pointers SSD H
IGH
FPTR {insert_frame_pointer($2, $4);};
+frame_pointers SSD H
P
FPTR {insert_frame_pointer($2, $4);};
| SSD FPTR {insert_frame_pointer($1, $2);};
;
| SSD FPTR {insert_frame_pointer($1, $2);};
;