%token <ref> REF
%token <val> SSD
%token <voidp> FPTR
+%token <voidp> QPTR
// Change width, height, num_ptrs to NUM because
// when scanning, we can't determine which NUM
// is which.
;
class:
- NAME CLOPEN {push_cdat($1);} class_block CLCLOSE {pop_cdat();};
+ CLOPEN NAME {push_cdat($2);} class_block CLCLOSE {pop_cdat();};
;
class_block:
;
root:
-RT NUM NUM NUM {insert_root($2, $3, $4);};
+RT NUM NUM NUM {insert_root($2, $3, $4);};
;
-quad_list:
-quad_list quad
-| quad
-;
-
-quad:
-QOPEN NUM NUM NUM REF QCLOSE {insert_quad($2, $3, $4, $5);};
+quad_file:
+QOPEN QPTR QCLOSE {insert_quad($2);};
hitbox:
-HB NUM {insert_hitbox($2);}
+HB NUM {insert_hitbox($2);}
;
set_map_data:
-quad_list
-| quad_list hitbox
-| quad_list hitbox root
+quad_file
+| quad_file hitbox
+| quad_file hitbox root
| hitbox root
| hitbox
| root
;
set:
-SOPEN set_label set_map_data element_list {alloc_vdat();} vdat SCLOSE {insert_set(); insert_set_vdatid();};
+SOPEN set_label set_map_data element_list {alloc_vdat();} vdat SCLOSE {insert_set(); insert_set_vdatid();};
| SOPEN set_label set_map_data element_list set_vlink SCLOSE {insert_set();};
| SOPEN set_label set_map_data element_list set_svlink SCLOSE {insert_set_svlink($5); insert_set(); };
| SOPEN set_label element_list {alloc_vdat();} vdat SCLOSE {insert_set(); insert_set_vdatid();};
set_label:
-HP NAME REF {insert_set_label($2,$3);};
-| LP NAME {insert_set_label($2, -1);};
+HP NAME REF {insert_set_label($2,$3);};
+| LP NAME {insert_set_label($2, -1);};
;
set_svlink:
;
set_vlink:
-REF NAME {insert_set_vlink($1, $2);};
+REF NAME {insert_set_vlink($1, $2);};
;
olink:
;
ele_label:
-HP NAME REF {insert_ele_label($2, $3);};
-| LP NAME {insert_ele_label($2, -1);};
+HP NAME REF {insert_ele_label($2, $3);};
+| LP NAME {insert_ele_label($2, -1);};
;
ele_vlink:
-REF NAME {insert_ele_vlink($1, $2);};
+REF NAME {insert_ele_vlink($1, $2);};
;
ele_svlink:
| EOPEN ele_label hitbox root ele_svlink ECLOSE {insert_ele_svlink($5);insert_ele(); };
| EOPEN ele_label root {alloc_vdat();} vdat ECLOSE {insert_ele(); insert_ele_vdatid();};
| EOPEN ele_label root ele_vlink ECLOSE {insert_ele(); };
-| EOPEN ele_label root ele_svlink ECLOSE {insert_ele_svlink($4); insert_ele(); };
+| EOPEN ele_label root ele_svlink ECLOSE {insert_ele_svlink($4); insert_ele(); };
| EOPEN olink ECLOSE {insert_ele_olink($2);};
;
;
frame_pointers:
-frame_pointers SSD HP FPTR {insert_frame_pointer($2, $4);};
-| SSD FPTR {insert_frame_pointer($1, $2);};
+frame_pointers SSD HP FPTR {insert_frame_pointer($2, $4);};
+| SSD FPTR {insert_frame_pointer($1, $2);};
;
%%