Commit d88f169516e8c2fd88833b91013068ae8cdf6a3f
1 parent
bd48c09e
Updated fils in library/syntactic_analysis due to introduction of subcases.
Actually, the problem was only that the new compiler cannot accept alternatives with the same names and arities. Anyway, I don't like this rectriction. I feel it like a regression.
Showing
1 changed file
with
14 additions
and
14 deletions
Show diff stats
anubis_dev/library/syntactic_analysis/anubis_output.anubis
| @@ -499,10 +499,10 @@ type Resolved_As: | @@ -499,10 +499,10 @@ type Resolved_As: | ||
| 499 | not_resolved, // not resolved because some precedence rule is missing | 499 | not_resolved, // not resolved because some precedence rule is missing |
| 500 | no_token_level(Int32 rule_level), // idem | 500 | no_token_level(Int32 rule_level), // idem |
| 501 | no_rule_level(Int32 token_level), // idem | 501 | no_rule_level(Int32 token_level), // idem |
| 502 | - shift(Int32 tok_level, Int32 rule_level), // resolved as 'shift' | ||
| 503 | - shift(Int32 level, AssocMode mode), // idem | ||
| 504 | - reduce(Int32 tok_level, Int32 rule_level), // resolved as 'reduce' | ||
| 505 | - reduce(Int32 level, AssocMode mode). // idem | 502 | + shift1(Int32 tok_level, Int32 rule_level), // resolved as 'shift' |
| 503 | + shift2(Int32 level, AssocMode mode), // idem | ||
| 504 | + reduce1(Int32 tok_level, Int32 rule_level), // resolved as 'reduce' | ||
| 505 | + reduce2(Int32 level, AssocMode mode). // idem | ||
| 506 | 506 | ||
| 507 | 507 | ||
| 508 | Conflicts are represented as follows: | 508 | Conflicts are represented as follows: |
| @@ -601,15 +601,15 @@ define Resolved_As | @@ -601,15 +601,15 @@ define Resolved_As | ||
| 601 | { | 601 | { |
| 602 | failure then no_token_level(rule_level), | 602 | failure then no_token_level(rule_level), |
| 603 | success(token_level) then | 603 | success(token_level) then |
| 604 | - if token_level < rule_level then reduce(token_level,rule_level) else | ||
| 605 | - if token_level > rule_level then shift (token_level,rule_level) else | 604 | + if token_level < rule_level then reduce1(token_level,rule_level) else |
| 605 | + if token_level > rule_level then shift1 (token_level,rule_level) else | ||
| 606 | if get_association_mode(token_level,assoc_table) is | 606 | if get_association_mode(token_level,assoc_table) is |
| 607 | { | 607 | { |
| 608 | failure then alert, // if there is a precedence, there is an association mode | 608 | failure then alert, // if there is a precedence, there is an association mode |
| 609 | success(mode) then if mode is | 609 | success(mode) then if mode is |
| 610 | { | 610 | { |
| 611 | - left then reduce(token_level,mode), | ||
| 612 | - right then shift (token_level,mode), | 611 | + left then reduce2(token_level,mode), |
| 612 | + right then shift2 (token_level,mode), | ||
| 613 | non_assoc then non_assoc_error | 613 | non_assoc then non_assoc_error |
| 614 | } | 614 | } |
| 615 | } | 615 | } |
| @@ -732,10 +732,10 @@ define One | @@ -732,10 +732,10 @@ define One | ||
| 732 | not_resolved then print(s,"%(* * * not resolved * * * ?/?)\n"), | 732 | not_resolved then print(s,"%(* * * not resolved * * * ?/?)\n"), |
| 733 | no_token_level(rl) then print(s,"%(* * * not resolved * * * ?/"+rl+")\n"), | 733 | no_token_level(rl) then print(s,"%(* * * not resolved * * * ?/"+rl+")\n"), |
| 734 | no_rule_level(tl) then print(s,"%(* * * not resolved * * * "+tl+"/?)\n"), | 734 | no_rule_level(tl) then print(s,"%(* * * not resolved * * * "+tl+"/?)\n"), |
| 735 | - shift(tl,rl) then print(s,"(resolved as 'shift' "+tl+"/"+rl+")\n"), | ||
| 736 | - shift(l,m) then print(s,"(resolved as 'shift' "+l+"/"+to_string(m)+")\n"), | ||
| 737 | - reduce(tl,rl) then print(s,"(resolved as 'reduce' "+tl+"/"+rl+")\n") | ||
| 738 | - reduce(l,m) then print(s,"(resolved as 'reduce' "+l+"/"+to_string(m)+")\n") | 735 | + shift1(tl,rl) then print(s,"(resolved as 'shift' "+tl+"/"+rl+")\n"), |
| 736 | + shift2(l,m) then print(s,"(resolved as 'shift' "+l+"/"+to_string(m)+")\n"), | ||
| 737 | + reduce1(tl,rl) then print(s,"(resolved as 'reduce' "+tl+"/"+rl+")\n") | ||
| 738 | + reduce2(l,m) then print(s,"(resolved as 'reduce' "+l+"/"+to_string(m)+")\n") | ||
| 739 | } | 739 | } |
| 740 | },conflicts). | 740 | },conflicts). |
| 741 | 741 | ||
| @@ -1506,9 +1506,9 @@ define One | @@ -1506,9 +1506,9 @@ define One | ||
| 1506 | [tok1 . others] then | 1506 | [tok1 . others] then |
| 1507 | print(s," "+tok1+"(value)"+" then\n"); | 1507 | print(s," "+tok1+"(value)"+" then\n"); |
| 1508 | with resol = get_conflict_resolution(tok1,conflicts), | 1508 | with resol = get_conflict_resolution(tok1,conflicts), |
| 1509 | - (if resol is reduce(Int32 tl, Int32 rl) then | 1509 | + (if resol is reduce1(Int32 tl, Int32 rl) then |
| 1510 | print_reduce_body(s,tok1,scs,state_id,options) else | 1510 | print_reduce_body(s,tok1,scs,state_id,options) else |
| 1511 | - if resol is reduce(Int32 l, AssocMode m) then | 1511 | + if resol is reduce2(Int32 l, AssocMode m) then |
| 1512 | print_reduce_body(s,tok1,scs,state_id,options) else | 1512 | print_reduce_body(s,tok1,scs,state_id,options) else |
| 1513 | if find_transition(tok1,transitions) is | 1513 | if find_transition(tok1,transitions) is |
| 1514 | { | 1514 | { |