Commit d88f169516e8c2fd88833b91013068ae8cdf6a3f

Authored by Alain Prouté
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 499 not_resolved, // not resolved because some precedence rule is missing
500 500 no_token_level(Int32 rule_level), // idem
501 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 508 Conflicts are represented as follows:
... ... @@ -601,15 +601,15 @@ define Resolved_As
601 601 {
602 602 failure then no_token_level(rule_level),
603 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 606 if get_association_mode(token_level,assoc_table) is
607 607 {
608 608 failure then alert, // if there is a precedence, there is an association mode
609 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 613 non_assoc then non_assoc_error
614 614 }
615 615 }
... ... @@ -732,10 +732,10 @@ define One
732 732 not_resolved then print(s,"%(* * * not resolved * * * ?/?)\n"),
733 733 no_token_level(rl) then print(s,"%(* * * not resolved * * * ?/"+rl+")\n"),
734 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 740 },conflicts).
741 741  
... ... @@ -1506,9 +1506,9 @@ define One
1506 1506 [tok1 . others] then
1507 1507 print(s," "+tok1+"(value)"+" then\n");
1508 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 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 1512 print_reduce_body(s,tok1,scs,state_id,options) else
1513 1513 if find_transition(tok1,transitions) is
1514 1514 {
... ...