X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Fparser.y;h=85c6c506c7325a0c0d3b237bdc846a3d57d2e526;hp=6fe096906a3a2f0e6888edf6889bae031cae0bdf;hb=c6453f4b6219125bf45a61cde2f44bd7a3154e17;hpb=9f5740dbdc3ebfd615f3cdc2a845c160eabcbfa6 diff --git a/src/parser.y b/src/parser.y index 6fe0969..85c6c50 100644 --- a/src/parser.y +++ b/src/parser.y @@ -30,7 +30,6 @@ %} %define parse.error verbose %define lr.type ielr -%glr-parser %union { int ref; @@ -58,7 +57,6 @@ %token WIDTH %token D %token NAME -%token SHIFT //nonterminals %type ref_id /* Syntax Directed Translation Scheme of the APC grammar */ @@ -117,7 +115,7 @@ set_namelist MOPEN map ; map: -NAME NUM NUM PATH {insert_map($1, 0, $3, $4, 0, $5);}; +NAME NUM NUM PATH {insert_map(0, $1, $2, $3, 0, $4);}; | NAME PATH {insert_map($1, 0, 0, 0, 0, $2);}; | NAME D PATH {insert_map($1, $2, 0, 0, 0, $3);}; | NAME D NUM NUM PATH {insert_map($1, $2, $3, $4, 0, $5);}; @@ -129,10 +127,10 @@ NAME NUM NUM PATH {insert_map($1, 0, $3, $4, 0, $5);} //shift list_namelist name > reduce mlink mlink: -MOPEN LINK NAME LINK link_namelist PATH {insert_mlink($4, 0); }; +MOPEN LINK NAME LINK link_namelist PATH {insert_mlink($3, 0); }; | MOPEN LINK link_namelist PATH {insert_mlink(NULL, 0); }; -| MOPEN LINK ref_id PATH {insert_mlink(NULL, $4); }; -| MOPEN LINK NAME LINK ref_id PATH {insert_mlink($4,$6); }; +| MOPEN LINK ref_id PATH {insert_mlink(NULL, $3); }; +| MOPEN LINK NAME LINK ref_id PATH {insert_mlink($3,$5); }; ; //shift list_namelist name > reduce vlink