diff --git a/src/Compiler.java b/src/Compiler.java index 09f1c74c34d41847f620fc28214e62f0eaca8c51..14ead4d0a3489db4ccddd2c30994e8f5efe0b3c3 100644 --- a/src/Compiler.java +++ b/src/Compiler.java @@ -39,9 +39,9 @@ public class Compiler typeCheck(); System.out.println("[BUILD C3A] "); buildC3a(); - /* System.out.println("[BUILD PRE NASM] "); buildPreNasm(); + /* System.out.println("[BUILD FLOW GRAPH] "); buildFg(); System.out.println("[SOLVE FLOW GRAPH]"); diff --git a/src/l.cfg b/src/l.cfg index 11bfb2ec49140ff701d037b61da148958467869d..5b42890ececc3f43831a5bbf52f53c62f92f5155 100644 --- a/src/l.cfg +++ b/src/l.cfg @@ -22,6 +22,8 @@ inf = '<' ; fois = '*' ; diviser = '/' ; non ='!' ; +modulo = '%'; +plusegale='+=' ; gparenthese = '(' ; dparenthese = ')' ; accoladeg = '{' ; @@ -65,10 +67,16 @@ equals = {egale} equals egale add | {inf} equals inf add | {add} add ; add = - {plus} add plus mult | {moins} add moins mult | {mult} mult ; + {plus} add plus mod | {moins} add moins mod | {mod} mod ; + +mod = {mod} mod modulo mult | {mult} mult ; mult = - {fois} mult fois neg | {diviser} mult diviser neg | {neg} neg ; + {fois} mult fois neg | {diviser} mult diviser neg | {addto} addto ; + + +addto = {addto} addto plusegale neg | {neg} neg ; + neg = {non} non neg | {e6} e6 ; diff --git a/src/lParser/analysis/Analysis.java b/src/lParser/analysis/Analysis.java index 2f313cfaa11952624a6050c19332158a1097d5d3..a9e69cf56b6ad00513a7d574cf8750dc0efb6f1f 100644 --- a/src/lParser/analysis/Analysis.java +++ b/src/lParser/analysis/Analysis.java @@ -22,10 +22,14 @@ public interface Analysis extends Switch void caseAAddEquals(AAddEquals node); void caseAPlusAdd(APlusAdd node); void caseAMoinsAdd(AMoinsAdd node); - void caseAMultAdd(AMultAdd node); + void caseAModAdd(AModAdd node); + void caseAModMod(AModMod node); + void caseAMultMod(AMultMod node); void caseAFoisMult(AFoisMult node); void caseADiviserMult(ADiviserMult node); - void caseANegMult(ANegMult node); + void caseAAddtoMult(AAddtoMult node); + void caseAAddtoAddto(AAddtoAddto node); + void caseANegAddto(ANegAddto node); void caseANonNeg(ANonNeg node); void caseAE6Neg(AE6Neg node); void caseAParentheseE6(AParentheseE6 node); @@ -79,6 +83,8 @@ public interface Analysis extends Switch void caseTFois(TFois node); void caseTDiviser(TDiviser node); void caseTNon(TNon node); + void caseTModulo(TModulo node); + void caseTPlusegale(TPlusegale node); void caseTGparenthese(TGparenthese node); void caseTDparenthese(TDparenthese node); void caseTAccoladeg(TAccoladeg node); diff --git a/src/lParser/analysis/AnalysisAdapter.java b/src/lParser/analysis/AnalysisAdapter.java index 80ac9c087f224efb888df78044df1f691413d677..f254aaf40831bb1aa36799f4d3d71d48b9c7fdd9 100644 --- a/src/lParser/analysis/AnalysisAdapter.java +++ b/src/lParser/analysis/AnalysisAdapter.java @@ -135,7 +135,19 @@ public class AnalysisAdapter implements Analysis } @Override - public void caseAMultAdd(AMultAdd node) + public void caseAModAdd(AModAdd node) + { + defaultCase(node); + } + + @Override + public void caseAModMod(AModMod node) + { + defaultCase(node); + } + + @Override + public void caseAMultMod(AMultMod node) { defaultCase(node); } @@ -153,7 +165,19 @@ public class AnalysisAdapter implements Analysis } @Override - public void caseANegMult(ANegMult node) + public void caseAAddtoMult(AAddtoMult node) + { + defaultCase(node); + } + + @Override + public void caseAAddtoAddto(AAddtoAddto node) + { + defaultCase(node); + } + + @Override + public void caseANegAddto(ANegAddto node) { defaultCase(node); } @@ -470,6 +494,18 @@ public class AnalysisAdapter implements Analysis defaultCase(node); } + @Override + public void caseTModulo(TModulo node) + { + defaultCase(node); + } + + @Override + public void caseTPlusegale(TPlusegale node) + { + defaultCase(node); + } + @Override public void caseTGparenthese(TGparenthese node) { diff --git a/src/lParser/analysis/DepthFirstAdapter.java b/src/lParser/analysis/DepthFirstAdapter.java index d9885cadeb4f27878369b32d0d80a15ceed28b02..e832c9bbb893225b643f6ac84dfde0240c8fe481 100644 --- a/src/lParser/analysis/DepthFirstAdapter.java +++ b/src/lParser/analysis/DepthFirstAdapter.java @@ -262,9 +262,9 @@ public class DepthFirstAdapter extends AnalysisAdapter { node.getPlus().apply(this); } - if(node.getMult() != null) + if(node.getMod() != null) { - node.getMult().apply(this); + node.getMod().apply(this); } outAPlusAdd(node); } @@ -291,32 +291,82 @@ public class DepthFirstAdapter extends AnalysisAdapter { node.getMoins().apply(this); } + if(node.getMod() != null) + { + node.getMod().apply(this); + } + outAMoinsAdd(node); + } + + public void inAModAdd(AModAdd node) + { + defaultIn(node); + } + + public void outAModAdd(AModAdd node) + { + defaultOut(node); + } + + @Override + public void caseAModAdd(AModAdd node) + { + inAModAdd(node); + if(node.getMod() != null) + { + node.getMod().apply(this); + } + outAModAdd(node); + } + + public void inAModMod(AModMod node) + { + defaultIn(node); + } + + public void outAModMod(AModMod node) + { + defaultOut(node); + } + + @Override + public void caseAModMod(AModMod node) + { + inAModMod(node); + if(node.getMod() != null) + { + node.getMod().apply(this); + } + if(node.getModulo() != null) + { + node.getModulo().apply(this); + } if(node.getMult() != null) { node.getMult().apply(this); } - outAMoinsAdd(node); + outAModMod(node); } - public void inAMultAdd(AMultAdd node) + public void inAMultMod(AMultMod node) { defaultIn(node); } - public void outAMultAdd(AMultAdd node) + public void outAMultMod(AMultMod node) { defaultOut(node); } @Override - public void caseAMultAdd(AMultAdd node) + public void caseAMultMod(AMultMod node) { - inAMultAdd(node); + inAMultMod(node); if(node.getMult() != null) { node.getMult().apply(this); } - outAMultAdd(node); + outAMultMod(node); } public void inAFoisMult(AFoisMult node) @@ -377,25 +427,75 @@ public class DepthFirstAdapter extends AnalysisAdapter outADiviserMult(node); } - public void inANegMult(ANegMult node) + public void inAAddtoMult(AAddtoMult node) + { + defaultIn(node); + } + + public void outAAddtoMult(AAddtoMult node) + { + defaultOut(node); + } + + @Override + public void caseAAddtoMult(AAddtoMult node) + { + inAAddtoMult(node); + if(node.getAddto() != null) + { + node.getAddto().apply(this); + } + outAAddtoMult(node); + } + + public void inAAddtoAddto(AAddtoAddto node) + { + defaultIn(node); + } + + public void outAAddtoAddto(AAddtoAddto node) + { + defaultOut(node); + } + + @Override + public void caseAAddtoAddto(AAddtoAddto node) + { + inAAddtoAddto(node); + if(node.getAddto() != null) + { + node.getAddto().apply(this); + } + if(node.getPlusegale() != null) + { + node.getPlusegale().apply(this); + } + if(node.getNeg() != null) + { + node.getNeg().apply(this); + } + outAAddtoAddto(node); + } + + public void inANegAddto(ANegAddto node) { defaultIn(node); } - public void outANegMult(ANegMult node) + public void outANegAddto(ANegAddto node) { defaultOut(node); } @Override - public void caseANegMult(ANegMult node) + public void caseANegAddto(ANegAddto node) { - inANegMult(node); + inANegAddto(node); if(node.getNeg() != null) { node.getNeg().apply(this); } - outANegMult(node); + outANegAddto(node); } public void inANonNeg(ANonNeg node) diff --git a/src/lParser/analysis/ReversedDepthFirstAdapter.java b/src/lParser/analysis/ReversedDepthFirstAdapter.java index b41333ca123f745d1b9b422de61780823e2d5740..5f21cc1f10392f5578b57155f9129b44173b42c5 100644 --- a/src/lParser/analysis/ReversedDepthFirstAdapter.java +++ b/src/lParser/analysis/ReversedDepthFirstAdapter.java @@ -254,9 +254,9 @@ public class ReversedDepthFirstAdapter extends AnalysisAdapter public void caseAPlusAdd(APlusAdd node) { inAPlusAdd(node); - if(node.getMult() != null) + if(node.getMod() != null) { - node.getMult().apply(this); + node.getMod().apply(this); } if(node.getPlus() != null) { @@ -283,9 +283,9 @@ public class ReversedDepthFirstAdapter extends AnalysisAdapter public void caseAMoinsAdd(AMoinsAdd node) { inAMoinsAdd(node); - if(node.getMult() != null) + if(node.getMod() != null) { - node.getMult().apply(this); + node.getMod().apply(this); } if(node.getMoins() != null) { @@ -298,25 +298,75 @@ public class ReversedDepthFirstAdapter extends AnalysisAdapter outAMoinsAdd(node); } - public void inAMultAdd(AMultAdd node) + public void inAModAdd(AModAdd node) + { + defaultIn(node); + } + + public void outAModAdd(AModAdd node) + { + defaultOut(node); + } + + @Override + public void caseAModAdd(AModAdd node) + { + inAModAdd(node); + if(node.getMod() != null) + { + node.getMod().apply(this); + } + outAModAdd(node); + } + + public void inAModMod(AModMod node) + { + defaultIn(node); + } + + public void outAModMod(AModMod node) + { + defaultOut(node); + } + + @Override + public void caseAModMod(AModMod node) + { + inAModMod(node); + if(node.getMult() != null) + { + node.getMult().apply(this); + } + if(node.getModulo() != null) + { + node.getModulo().apply(this); + } + if(node.getMod() != null) + { + node.getMod().apply(this); + } + outAModMod(node); + } + + public void inAMultMod(AMultMod node) { defaultIn(node); } - public void outAMultAdd(AMultAdd node) + public void outAMultMod(AMultMod node) { defaultOut(node); } @Override - public void caseAMultAdd(AMultAdd node) + public void caseAMultMod(AMultMod node) { - inAMultAdd(node); + inAMultMod(node); if(node.getMult() != null) { node.getMult().apply(this); } - outAMultAdd(node); + outAMultMod(node); } public void inAFoisMult(AFoisMult node) @@ -377,25 +427,75 @@ public class ReversedDepthFirstAdapter extends AnalysisAdapter outADiviserMult(node); } - public void inANegMult(ANegMult node) + public void inAAddtoMult(AAddtoMult node) + { + defaultIn(node); + } + + public void outAAddtoMult(AAddtoMult node) + { + defaultOut(node); + } + + @Override + public void caseAAddtoMult(AAddtoMult node) + { + inAAddtoMult(node); + if(node.getAddto() != null) + { + node.getAddto().apply(this); + } + outAAddtoMult(node); + } + + public void inAAddtoAddto(AAddtoAddto node) + { + defaultIn(node); + } + + public void outAAddtoAddto(AAddtoAddto node) + { + defaultOut(node); + } + + @Override + public void caseAAddtoAddto(AAddtoAddto node) + { + inAAddtoAddto(node); + if(node.getNeg() != null) + { + node.getNeg().apply(this); + } + if(node.getPlusegale() != null) + { + node.getPlusegale().apply(this); + } + if(node.getAddto() != null) + { + node.getAddto().apply(this); + } + outAAddtoAddto(node); + } + + public void inANegAddto(ANegAddto node) { defaultIn(node); } - public void outANegMult(ANegMult node) + public void outANegAddto(ANegAddto node) { defaultOut(node); } @Override - public void caseANegMult(ANegMult node) + public void caseANegAddto(ANegAddto node) { - inANegMult(node); + inANegAddto(node); if(node.getNeg() != null) { node.getNeg().apply(this); } - outANegMult(node); + outANegAddto(node); } public void inANonNeg(ANonNeg node) diff --git a/src/lParser/lexer/Lexer.java b/src/lParser/lexer/Lexer.java index f399d7cb3615806003a09434043cc53bfec30f42..4f4645397812cf00331f281bc297ab3765544c74 100644 --- a/src/lParser/lexer/Lexer.java +++ b/src/lParser/lexer/Lexer.java @@ -469,7 +469,6 @@ public class Lexer case 29: { @SuppressWarnings("hiding") Token token = new29( - getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); @@ -490,6 +489,7 @@ public class Lexer case 31: { @SuppressWarnings("hiding") Token token = new31( + getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); @@ -500,6 +500,26 @@ public class Lexer case 32: { @SuppressWarnings("hiding") Token token = new32( + start_line + 1, + start_pos + 1); + pushBack(accept_length); + this.pos = accept_pos; + this.line = accept_line; + return token; + } + case 33: + { + @SuppressWarnings("hiding") Token token = new33( + start_line + 1, + start_pos + 1); + pushBack(accept_length); + this.pos = accept_pos; + this.line = accept_line; + return token; + } + case 34: + { + @SuppressWarnings("hiding") Token token = new34( getText(accept_length), start_line + 1, start_pos + 1); @@ -542,26 +562,28 @@ public class Lexer Token new10(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TFois(line, pos); } Token new11(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDiviser(line, pos); } Token new12(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNon(line, pos); } - Token new13(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGparenthese(line, pos); } - Token new14(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDparenthese(line, pos); } - Token new15(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TAccoladeg(line, pos); } - Token new16(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TAccoladed(line, pos); } - Token new17(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TCrochetg(line, pos); } - Token new18(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TCrochetd(line, pos); } - Token new19(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBool(line, pos); } - Token new20(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TEntier(line, pos); } - Token new21(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSi(line, pos); } - Token new22(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TAlors(line, pos); } - Token new23(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTantque(line, pos); } - Token new24(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TFaire(line, pos); } - Token new25(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSinon(line, pos); } - Token new26(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TRetourner(line, pos); } - Token new27(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TLire(line, pos); } - Token new28(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TEcrire(line, pos); } - Token new29(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNombre(text, line, pos); } - Token new30(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TVrai(line, pos); } - Token new31(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TFaux(line, pos); } - Token new32(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TId(text, line, pos); } + Token new13(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TModulo(line, pos); } + Token new14(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TPlusegale(line, pos); } + Token new15(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGparenthese(line, pos); } + Token new16(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDparenthese(line, pos); } + Token new17(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TAccoladeg(line, pos); } + Token new18(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TAccoladed(line, pos); } + Token new19(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TCrochetg(line, pos); } + Token new20(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TCrochetd(line, pos); } + Token new21(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBool(line, pos); } + Token new22(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TEntier(line, pos); } + Token new23(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSi(line, pos); } + Token new24(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TAlors(line, pos); } + Token new25(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTantque(line, pos); } + Token new26(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TFaire(line, pos); } + Token new27(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSinon(line, pos); } + Token new28(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TRetourner(line, pos); } + Token new29(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TLire(line, pos); } + Token new30(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TEcrire(line, pos); } + Token new31(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNombre(text, line, pos); } + Token new32(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TVrai(line, pos); } + Token new33(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TFaux(line, pos); } + Token new34(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TId(text, line, pos); } private int getChar() throws IOException { @@ -621,87 +643,89 @@ public class Lexer private static int[][][][] gotoTable; /* { { // INITIAL - {{10, 10, 1}, {13, 13, 2}, {32, 32, 3}, {33, 33, 4}, {35, 35, 5}, {36, 36, 6}, {38, 38, 7}, {40, 40, 8}, {41, 41, 9}, {42, 42, 10}, {43, 43, 11}, {44, 44, 12}, {45, 45, 13}, {47, 47, 14}, {48, 57, 15}, {59, 59, 16}, {60, 60, 17}, {61, 61, 18}, {65, 90, 6}, {91, 91, 19}, {93, 93, 20}, {95, 95, 6}, {97, 97, 21}, {98, 98, 22}, {99, 100, 6}, {101, 101, 23}, {102, 102, 24}, {103, 107, 6}, {108, 108, 25}, {109, 113, 6}, {114, 114, 26}, {115, 115, 27}, {116, 116, 28}, {117, 117, 6}, {118, 118, 29}, {119, 122, 6}, {123, 123, 30}, {124, 124, 31}, {125, 125, 32}, }, + {{10, 10, 1}, {13, 13, 2}, {32, 32, 3}, {33, 33, 4}, {35, 35, 5}, {36, 36, 6}, {37, 37, 7}, {38, 38, 8}, {40, 40, 9}, {41, 41, 10}, {42, 42, 11}, {43, 43, 12}, {44, 44, 13}, {45, 45, 14}, {47, 47, 15}, {48, 57, 16}, {59, 59, 17}, {60, 60, 18}, {61, 61, 19}, {65, 90, 6}, {91, 91, 20}, {93, 93, 21}, {95, 95, 6}, {97, 97, 22}, {98, 98, 23}, {99, 100, 6}, {101, 101, 24}, {102, 102, 25}, {103, 107, 6}, {108, 108, 26}, {109, 113, 6}, {114, 114, 27}, {115, 115, 28}, {116, 116, 29}, {117, 117, 6}, {118, 118, 30}, {119, 122, 6}, {123, 123, 31}, {124, 124, 32}, {125, 125, 33}, }, {{10, 32, -2}, }, {{10, 32, -2}, }, {{10, 32, -2}, }, {}, - {{0, 9, 33}, {10, 10, 34}, {11, 12, 33}, {13, 13, 35}, {14, 65535, 33}, }, - {{36, 36, 36}, {48, 57, 36}, {65, 90, 36}, {95, 95, 36}, {97, 122, 36}, }, + {{0, 9, 34}, {10, 10, 35}, {11, 12, 34}, {13, 13, 36}, {14, 65535, 34}, }, + {{36, 36, 37}, {48, 57, 37}, {65, 90, 37}, {95, 95, 37}, {97, 122, 37}, }, {}, {}, {}, {}, {}, + {{61, 61, 38}, }, {}, {}, {}, - {{48, 57, 15}, }, + {{48, 57, 16}, }, {}, {}, {}, {}, {}, - {{36, 95, -8}, {97, 107, 36}, {108, 108, 37}, {109, 122, 36}, }, - {{36, 95, -8}, {97, 110, 36}, {111, 111, 38}, {112, 122, 36}, }, - {{36, 95, -8}, {97, 98, 36}, {99, 99, 39}, {100, 109, 36}, {110, 110, 40}, {111, 122, 36}, }, - {{36, 95, -8}, {97, 97, 41}, {98, 122, 36}, }, - {{36, 95, -8}, {97, 104, 36}, {105, 105, 42}, {106, 122, 36}, }, - {{36, 95, -8}, {97, 100, 36}, {101, 101, 43}, {102, 122, 36}, }, - {{36, 104, -27}, {105, 105, 44}, {106, 122, 36}, }, - {{36, 95, -8}, {97, 97, 45}, {98, 122, 36}, }, - {{36, 95, -8}, {97, 113, 36}, {114, 114, 46}, {115, 122, 36}, }, + {{36, 95, -8}, {97, 107, 37}, {108, 108, 39}, {109, 122, 37}, }, + {{36, 95, -8}, {97, 110, 37}, {111, 111, 40}, {112, 122, 37}, }, + {{36, 95, -8}, {97, 98, 37}, {99, 99, 41}, {100, 109, 37}, {110, 110, 42}, {111, 122, 37}, }, + {{36, 95, -8}, {97, 97, 43}, {98, 122, 37}, }, + {{36, 95, -8}, {97, 104, 37}, {105, 105, 44}, {106, 122, 37}, }, + {{36, 95, -8}, {97, 100, 37}, {101, 101, 45}, {102, 122, 37}, }, + {{36, 104, -28}, {105, 105, 46}, {106, 122, 37}, }, + {{36, 95, -8}, {97, 97, 47}, {98, 122, 37}, }, + {{36, 95, -8}, {97, 113, 37}, {114, 114, 48}, {115, 122, 37}, }, {}, {}, {}, {{0, 65535, -7}, }, - {{13, 13, 47}, }, + {{13, 13, 49}, }, {}, {{36, 122, -8}, }, - {{36, 110, -24}, {111, 111, 48}, {112, 122, 36}, }, - {{36, 110, -24}, {111, 111, 49}, {112, 122, 36}, }, - {{36, 113, -31}, {114, 114, 50}, {115, 122, 36}, }, - {{36, 95, -8}, {97, 115, 36}, {116, 116, 51}, {117, 122, 36}, }, - {{36, 104, -27}, {105, 105, 52}, {106, 116, 36}, {117, 117, 53}, {118, 122, 36}, }, - {{36, 113, -31}, {114, 114, 54}, {115, 122, 36}, }, - {{36, 115, -42}, {116, 116, 55}, {117, 122, 36}, }, - {{36, 95, -8}, {97, 109, 36}, {110, 110, 56}, {111, 122, 36}, }, - {{36, 109, -46}, {110, 110, 57}, {111, 122, 36}, }, - {{36, 95, -8}, {97, 97, 58}, {98, 122, 36}, }, {}, - {{36, 113, -31}, {114, 114, 59}, {115, 122, 36}, }, - {{36, 107, -23}, {108, 108, 60}, {109, 122, 36}, }, - {{36, 104, -27}, {105, 105, 61}, {106, 122, 36}, }, - {{36, 104, -27}, {105, 105, 62}, {106, 122, 36}, }, - {{36, 113, -31}, {114, 114, 63}, {115, 122, 36}, }, - {{36, 95, -8}, {97, 119, 36}, {120, 120, 64}, {121, 122, 36}, }, - {{36, 100, -28}, {101, 101, 65}, {102, 122, 36}, }, - {{36, 110, -24}, {111, 111, 66}, {112, 122, 36}, }, - {{36, 110, -24}, {111, 111, 67}, {112, 122, 36}, }, - {{36, 115, -42}, {116, 116, 68}, {117, 122, 36}, }, - {{36, 104, -27}, {105, 105, 69}, {106, 122, 36}, }, - {{36, 95, -8}, {97, 114, 36}, {115, 115, 70}, {116, 122, 36}, }, + {{36, 110, -25}, {111, 111, 50}, {112, 122, 37}, }, + {{36, 110, -25}, {111, 111, 51}, {112, 122, 37}, }, + {{36, 113, -32}, {114, 114, 52}, {115, 122, 37}, }, + {{36, 95, -8}, {97, 115, 37}, {116, 116, 53}, {117, 122, 37}, }, + {{36, 104, -28}, {105, 105, 54}, {106, 116, 37}, {117, 117, 55}, {118, 122, 37}, }, + {{36, 113, -32}, {114, 114, 56}, {115, 122, 37}, }, + {{36, 115, -44}, {116, 116, 57}, {117, 122, 37}, }, + {{36, 95, -8}, {97, 109, 37}, {110, 110, 58}, {111, 122, 37}, }, + {{36, 109, -48}, {110, 110, 59}, {111, 122, 37}, }, + {{36, 95, -8}, {97, 97, 60}, {98, 122, 37}, }, + {}, + {{36, 113, -32}, {114, 114, 61}, {115, 122, 37}, }, + {{36, 107, -24}, {108, 108, 62}, {109, 122, 37}, }, + {{36, 104, -28}, {105, 105, 63}, {106, 122, 37}, }, + {{36, 104, -28}, {105, 105, 64}, {106, 122, 37}, }, + {{36, 113, -32}, {114, 114, 65}, {115, 122, 37}, }, + {{36, 95, -8}, {97, 119, 37}, {120, 120, 66}, {121, 122, 37}, }, + {{36, 100, -29}, {101, 101, 67}, {102, 122, 37}, }, + {{36, 110, -25}, {111, 111, 68}, {112, 122, 37}, }, + {{36, 110, -25}, {111, 111, 69}, {112, 122, 37}, }, + {{36, 115, -44}, {116, 116, 70}, {117, 122, 37}, }, + {{36, 104, -28}, {105, 105, 71}, {106, 122, 37}, }, + {{36, 95, -8}, {97, 114, 37}, {115, 115, 72}, {116, 122, 37}, }, {{36, 122, -8}, }, - {{36, 113, -31}, {114, 114, 71}, {115, 122, 36}, }, - {{36, 100, -28}, {101, 101, 72}, {102, 122, 36}, }, - {{36, 100, -28}, {101, 101, 73}, {102, 122, 36}, }, + {{36, 113, -32}, {114, 114, 73}, {115, 122, 37}, }, + {{36, 100, -29}, {101, 101, 74}, {102, 122, 37}, }, + {{36, 100, -29}, {101, 101, 75}, {102, 122, 37}, }, {{36, 122, -8}, }, {{36, 122, -8}, }, - {{36, 95, -8}, {97, 116, 36}, {117, 117, 74}, {118, 122, 36}, }, - {{36, 109, -46}, {110, 110, 75}, {111, 122, 36}, }, - {{36, 95, -8}, {97, 112, 36}, {113, 113, 76}, {114, 122, 36}, }, + {{36, 95, -8}, {97, 116, 37}, {117, 117, 76}, {118, 122, 37}, }, + {{36, 109, -48}, {110, 110, 77}, {111, 122, 37}, }, + {{36, 95, -8}, {97, 112, 37}, {113, 113, 78}, {114, 122, 37}, }, {{36, 122, -8}, }, {{36, 122, -8}, }, - {{36, 100, -28}, {101, 101, 77}, {102, 122, 36}, }, - {{36, 113, -31}, {114, 114, 78}, {115, 122, 36}, }, + {{36, 100, -29}, {101, 101, 79}, {102, 122, 37}, }, + {{36, 113, -32}, {114, 114, 80}, {115, 122, 37}, }, {{36, 122, -8}, }, - {{36, 113, -31}, {114, 114, 79}, {115, 122, 36}, }, + {{36, 113, -32}, {114, 114, 81}, {115, 122, 37}, }, {{36, 122, -8}, }, - {{36, 116, -68}, {117, 117, 80}, {118, 122, 36}, }, + {{36, 116, -70}, {117, 117, 82}, {118, 122, 37}, }, {{36, 122, -8}, }, {{36, 122, -8}, }, {{36, 122, -8}, }, - {{36, 100, -28}, {101, 101, 81}, {102, 122, 36}, }, + {{36, 100, -29}, {101, 101, 83}, {102, 122, 37}, }, {{36, 122, -8}, }, } };*/ @@ -709,7 +733,7 @@ public class Lexer private static int[][] accept; /* { // INITIAL - {-1, 0, 0, 0, 12, -1, 32, 6, 13, 14, 10, 2, 7, 4, 11, 29, 3, 9, 8, 17, 18, 32, 32, 32, 32, 32, 32, 32, 32, 32, 15, 5, 16, -1, 1, 1, 32, 32, 32, 32, 32, 32, 32, 32, 21, 32, 32, 1, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 19, 32, 32, 32, 31, 27, 32, 32, 32, 30, 22, 32, 32, 24, 32, 25, 32, 28, 20, 26, 32, 23, }, + {-1, 0, 0, 0, 12, -1, 34, 13, 6, 15, 16, 10, 2, 7, 4, 11, 31, 3, 9, 8, 19, 20, 34, 34, 34, 34, 34, 34, 34, 34, 34, 17, 5, 18, -1, 1, 1, 34, 14, 34, 34, 34, 34, 34, 34, 34, 23, 34, 34, 1, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 21, 34, 34, 34, 33, 29, 34, 34, 34, 32, 24, 34, 34, 26, 34, 27, 34, 30, 22, 28, 34, 25, }, };*/ diff --git a/src/lParser/lexer/lexer.dat b/src/lParser/lexer/lexer.dat index 3f7ff84477e368b889a806eb3edea9e588dbd39d..1994a0994207aaf73683e286082f19157e9b0ff9 100644 Binary files a/src/lParser/lexer/lexer.dat and b/src/lParser/lexer/lexer.dat differ diff --git a/src/lParser/node/AAddtoAdd.java b/src/lParser/node/AAddtoAdd.java new file mode 100644 index 0000000000000000000000000000000000000000..3bf5b3751affb1df16841707046e50d56007f7f4 --- /dev/null +++ b/src/lParser/node/AAddtoAdd.java @@ -0,0 +1,95 @@ +/* This file was generated by SableCC (http://www.sablecc.org/). */ + +package lParser.node; + +import lParser.analysis.*; + +@SuppressWarnings("nls") +public final class AAddtoAdd extends PAdd +{ + private PAddto _addto_; + + public AAddtoAdd() + { + // Constructor + } + + public AAddtoAdd( + @SuppressWarnings("hiding") PAddto _addto_) + { + // Constructor + setAddto(_addto_); + + } + + @Override + public Object clone() + { + return new AAddtoAdd( + cloneNode(this._addto_)); + } + + @Override + public void apply(Switch sw) + { + ((Analysis) sw).caseAAddtoAddto(this); + } + + public PAddto getAddto() + { + return this._addto_; + } + + public void setAddto(PAddto node) + { + if(this._addto_ != null) + { + this._addto_.parent(null); + } + + if(node != null) + { + if(node.parent() != null) + { + node.parent().removeChild(node); + } + + node.parent(this); + } + + this._addto_ = node; + } + + @Override + public String toString() + { + return "" + + toString(this._addto_); + } + + @Override + void removeChild(@SuppressWarnings("unused") Node child) + { + // Remove child + if(this._addto_ == child) + { + this._addto_ = null; + return; + } + + throw new RuntimeException("Not a child."); + } + + @Override + void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) + { + // Replace child + if(this._addto_ == oldChild) + { + setAddto((PAddto) newChild); + return; + } + + throw new RuntimeException("Not a child."); + } +} diff --git a/src/lParser/node/AAddtoAddto.java b/src/lParser/node/AAddtoAddto.java new file mode 100644 index 0000000000000000000000000000000000000000..c43c7a2e342db01b5ece64c74d38c815639ee8fb --- /dev/null +++ b/src/lParser/node/AAddtoAddto.java @@ -0,0 +1,181 @@ +/* This file was generated by SableCC (http://www.sablecc.org/). */ + +package lParser.node; + +import lParser.analysis.*; + +@SuppressWarnings("nls") +public final class AAddtoAddto extends PAddto +{ + private PAddto _addto_; + private TPlusegale _plusegale_; + private PNeg _neg_; + + public AAddtoAddto() + { + // Constructor + } + + public AAddtoAddto( + @SuppressWarnings("hiding") PAddto _addto_, + @SuppressWarnings("hiding") TPlusegale _plusegale_, + @SuppressWarnings("hiding") PNeg _neg_) + { + // Constructor + setAddto(_addto_); + + setPlusegale(_plusegale_); + + setNeg(_neg_); + + } + + @Override + public Object clone() + { + return new AAddtoAddto( + cloneNode(this._addto_), + cloneNode(this._plusegale_), + cloneNode(this._neg_)); + } + + @Override + public void apply(Switch sw) + { + ((Analysis) sw).caseAAddtoAddto(this); + } + + public PAddto getAddto() + { + return this._addto_; + } + + public void setAddto(PAddto node) + { + if(this._addto_ != null) + { + this._addto_.parent(null); + } + + if(node != null) + { + if(node.parent() != null) + { + node.parent().removeChild(node); + } + + node.parent(this); + } + + this._addto_ = node; + } + + public TPlusegale getPlusegale() + { + return this._plusegale_; + } + + public void setPlusegale(TPlusegale node) + { + if(this._plusegale_ != null) + { + this._plusegale_.parent(null); + } + + if(node != null) + { + if(node.parent() != null) + { + node.parent().removeChild(node); + } + + node.parent(this); + } + + this._plusegale_ = node; + } + + public PNeg getNeg() + { + return this._neg_; + } + + public void setNeg(PNeg node) + { + if(this._neg_ != null) + { + this._neg_.parent(null); + } + + if(node != null) + { + if(node.parent() != null) + { + node.parent().removeChild(node); + } + + node.parent(this); + } + + this._neg_ = node; + } + + @Override + public String toString() + { + return "" + + toString(this._addto_) + + toString(this._plusegale_) + + toString(this._neg_); + } + + @Override + void removeChild(@SuppressWarnings("unused") Node child) + { + // Remove child + if(this._addto_ == child) + { + this._addto_ = null; + return; + } + + if(this._plusegale_ == child) + { + this._plusegale_ = null; + return; + } + + if(this._neg_ == child) + { + this._neg_ = null; + return; + } + + throw new RuntimeException("Not a child."); + } + + @Override + void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) + { + // Replace child + if(this._addto_ == oldChild) + { + setAddto((PAddto) newChild); + return; + } + + if(this._plusegale_ == oldChild) + { + setPlusegale((TPlusegale) newChild); + return; + } + + if(this._neg_ == oldChild) + { + setNeg((PNeg) newChild); + return; + } + + throw new RuntimeException("Not a child."); + } +} diff --git a/src/lParser/node/AAddtoMult.java b/src/lParser/node/AAddtoMult.java new file mode 100644 index 0000000000000000000000000000000000000000..178df79369c8bf7e64b4435a5433b333444f86e5 --- /dev/null +++ b/src/lParser/node/AAddtoMult.java @@ -0,0 +1,95 @@ +/* This file was generated by SableCC (http://www.sablecc.org/). */ + +package lParser.node; + +import lParser.analysis.*; + +@SuppressWarnings("nls") +public final class AAddtoMult extends PMult +{ + private PAddto _addto_; + + public AAddtoMult() + { + // Constructor + } + + public AAddtoMult( + @SuppressWarnings("hiding") PAddto _addto_) + { + // Constructor + setAddto(_addto_); + + } + + @Override + public Object clone() + { + return new AAddtoMult( + cloneNode(this._addto_)); + } + + @Override + public void apply(Switch sw) + { + ((Analysis) sw).caseAAddtoMult(this); + } + + public PAddto getAddto() + { + return this._addto_; + } + + public void setAddto(PAddto node) + { + if(this._addto_ != null) + { + this._addto_.parent(null); + } + + if(node != null) + { + if(node.parent() != null) + { + node.parent().removeChild(node); + } + + node.parent(this); + } + + this._addto_ = node; + } + + @Override + public String toString() + { + return "" + + toString(this._addto_); + } + + @Override + void removeChild(@SuppressWarnings("unused") Node child) + { + // Remove child + if(this._addto_ == child) + { + this._addto_ = null; + return; + } + + throw new RuntimeException("Not a child."); + } + + @Override + void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) + { + // Replace child + if(this._addto_ == oldChild) + { + setAddto((PAddto) newChild); + return; + } + + throw new RuntimeException("Not a child."); + } +} diff --git a/src/lParser/node/AMoinsAdd.java b/src/lParser/node/AMoinsAdd.java index 27e685856388dae4f692459919d181f7d027f4ea..e39237fcdcc22d5842fc5a0336ceb34337180d86 100644 --- a/src/lParser/node/AMoinsAdd.java +++ b/src/lParser/node/AMoinsAdd.java @@ -9,7 +9,7 @@ public final class AMoinsAdd extends PAdd { private PAdd _add_; private TMoins _moins_; - private PMult _mult_; + private PMod _mod_; public AMoinsAdd() { @@ -19,14 +19,14 @@ public final class AMoinsAdd extends PAdd public AMoinsAdd( @SuppressWarnings("hiding") PAdd _add_, @SuppressWarnings("hiding") TMoins _moins_, - @SuppressWarnings("hiding") PMult _mult_) + @SuppressWarnings("hiding") PMod _mod_) { // Constructor setAdd(_add_); setMoins(_moins_); - setMult(_mult_); + setMod(_mod_); } @@ -36,7 +36,7 @@ public final class AMoinsAdd extends PAdd return new AMoinsAdd( cloneNode(this._add_), cloneNode(this._moins_), - cloneNode(this._mult_)); + cloneNode(this._mod_)); } @Override @@ -95,16 +95,16 @@ public final class AMoinsAdd extends PAdd this._moins_ = node; } - public PMult getMult() + public PMod getMod() { - return this._mult_; + return this._mod_; } - public void setMult(PMult node) + public void setMod(PMod node) { - if(this._mult_ != null) + if(this._mod_ != null) { - this._mult_.parent(null); + this._mod_.parent(null); } if(node != null) @@ -117,7 +117,7 @@ public final class AMoinsAdd extends PAdd node.parent(this); } - this._mult_ = node; + this._mod_ = node; } @Override @@ -126,7 +126,7 @@ public final class AMoinsAdd extends PAdd return "" + toString(this._add_) + toString(this._moins_) - + toString(this._mult_); + + toString(this._mod_); } @Override @@ -145,9 +145,9 @@ public final class AMoinsAdd extends PAdd return; } - if(this._mult_ == child) + if(this._mod_ == child) { - this._mult_ = null; + this._mod_ = null; return; } @@ -170,9 +170,9 @@ public final class AMoinsAdd extends PAdd return; } - if(this._mult_ == oldChild) + if(this._mod_ == oldChild) { - setMult((PMult) newChild); + setMod((PMod) newChild); return; } diff --git a/src/lParser/node/ANegMult.java b/src/lParser/node/ANegAddto.java similarity index 90% rename from src/lParser/node/ANegMult.java rename to src/lParser/node/ANegAddto.java index dbcc3c2b398d03efc82b6a7fb43aa0eaa33fc0a1..2c37482575b4f7bde58a5e6052f53acee8b613ea 100644 --- a/src/lParser/node/ANegMult.java +++ b/src/lParser/node/ANegAddto.java @@ -5,16 +5,16 @@ package lParser.node; import lParser.analysis.*; @SuppressWarnings("nls") -public final class ANegMult extends PMult +public final class ANegAddto extends PAddto { private PNeg _neg_; - public ANegMult() + public ANegAddto() { // Constructor } - public ANegMult( + public ANegAddto( @SuppressWarnings("hiding") PNeg _neg_) { // Constructor @@ -25,14 +25,14 @@ public final class ANegMult extends PMult @Override public Object clone() { - return new ANegMult( + return new ANegAddto( cloneNode(this._neg_)); } @Override public void apply(Switch sw) { - ((Analysis) sw).caseANegMult(this); + ((Analysis) sw).caseANegAddto(this); } public PNeg getNeg() diff --git a/src/lParser/node/APlusAdd.java b/src/lParser/node/APlusAdd.java index bd1386be3941b2379138bb476e2f59e1f20cd691..8c87c2f0d6ee32f21d3734eaa0ad0142d3e1315d 100644 --- a/src/lParser/node/APlusAdd.java +++ b/src/lParser/node/APlusAdd.java @@ -9,7 +9,7 @@ public final class APlusAdd extends PAdd { private PAdd _add_; private TPlus _plus_; - private PMult _mult_; + private PMod _mod_; public APlusAdd() { @@ -19,14 +19,14 @@ public final class APlusAdd extends PAdd public APlusAdd( @SuppressWarnings("hiding") PAdd _add_, @SuppressWarnings("hiding") TPlus _plus_, - @SuppressWarnings("hiding") PMult _mult_) + @SuppressWarnings("hiding") PMod _mod_) { // Constructor setAdd(_add_); setPlus(_plus_); - setMult(_mult_); + setMod(_mod_); } @@ -36,7 +36,7 @@ public final class APlusAdd extends PAdd return new APlusAdd( cloneNode(this._add_), cloneNode(this._plus_), - cloneNode(this._mult_)); + cloneNode(this._mod_)); } @Override @@ -95,16 +95,16 @@ public final class APlusAdd extends PAdd this._plus_ = node; } - public PMult getMult() + public PMod getMod() { - return this._mult_; + return this._mod_; } - public void setMult(PMult node) + public void setMod(PMod node) { - if(this._mult_ != null) + if(this._mod_ != null) { - this._mult_.parent(null); + this._mod_.parent(null); } if(node != null) @@ -117,7 +117,7 @@ public final class APlusAdd extends PAdd node.parent(this); } - this._mult_ = node; + this._mod_ = node; } @Override @@ -126,7 +126,7 @@ public final class APlusAdd extends PAdd return "" + toString(this._add_) + toString(this._plus_) - + toString(this._mult_); + + toString(this._mod_); } @Override @@ -145,9 +145,9 @@ public final class APlusAdd extends PAdd return; } - if(this._mult_ == child) + if(this._mod_ == child) { - this._mult_ = null; + this._mod_ = null; return; } @@ -170,9 +170,9 @@ public final class APlusAdd extends PAdd return; } - if(this._mult_ == oldChild) + if(this._mod_ == oldChild) { - setMult((PMult) newChild); + setMod((PMod) newChild); return; } diff --git a/src/lParser/node/PAddto.java b/src/lParser/node/PAddto.java new file mode 100644 index 0000000000000000000000000000000000000000..7170eed58c9bf32a8659bd146571cc652a4afcff --- /dev/null +++ b/src/lParser/node/PAddto.java @@ -0,0 +1,8 @@ +/* This file was generated by SableCC (http://www.sablecc.org/). */ + +package lParser.node; + +public abstract class PAddto extends Node +{ + // Empty body +} diff --git a/src/lParser/node/TPlusegale.java b/src/lParser/node/TPlusegale.java new file mode 100644 index 0000000000000000000000000000000000000000..7fc0e867ea1c85a5b5c86d0ee0c61821701fc32b --- /dev/null +++ b/src/lParser/node/TPlusegale.java @@ -0,0 +1,39 @@ +/* This file was generated by SableCC (http://www.sablecc.org/). */ + +package lParser.node; + +import lParser.analysis.*; + +@SuppressWarnings("nls") +public final class TPlusegale extends Token +{ + public TPlusegale() + { + super.setText("+="); + } + + public TPlusegale(int line, int pos) + { + super.setText("+="); + setLine(line); + setPos(pos); + } + + @Override + public Object clone() + { + return new TPlusegale(getLine(), getPos()); + } + + @Override + public void apply(Switch sw) + { + ((Analysis) sw).caseTPlusegale(this); + } + + @Override + public void setText(@SuppressWarnings("unused") String text) + { + throw new RuntimeException("Cannot change TPlusegale text."); + } +} diff --git a/src/lParser/parser/Parser.java b/src/lParser/parser/Parser.java index 88d8ac509606caf293ffd542416c7270fd1a23a6..5349d46af4d146f720e0168bf2e66aa366d62e7a 100644 --- a/src/lParser/parser/Parser.java +++ b/src/lParser/parser/Parser.java @@ -255,276 +255,300 @@ public class Parser push(goTo(4), list); } break; - case 11: /* reduce AMultAdd */ + case 11: /* reduce AModAdd */ { ArrayList<Object> list = new11(); push(goTo(4), list); } break; - case 12: /* reduce AFoisMult */ + case 12: /* reduce AModMod */ { ArrayList<Object> list = new12(); push(goTo(5), list); } break; - case 13: /* reduce ADiviserMult */ + case 13: /* reduce AMultMod */ { ArrayList<Object> list = new13(); push(goTo(5), list); } break; - case 14: /* reduce ANegMult */ + case 14: /* reduce AFoisMult */ { ArrayList<Object> list = new14(); - push(goTo(5), list); + push(goTo(6), list); } break; - case 15: /* reduce ANonNeg */ + case 15: /* reduce ADiviserMult */ { ArrayList<Object> list = new15(); push(goTo(6), list); } break; - case 16: /* reduce AE6Neg */ + case 16: /* reduce AAddtoMult */ { ArrayList<Object> list = new16(); push(goTo(6), list); } break; - case 17: /* reduce AParentheseE6 */ + case 17: /* reduce AAddtoAddto */ { ArrayList<Object> list = new17(); push(goTo(7), list); } break; - case 18: /* reduce ANombreE6 */ + case 18: /* reduce ANegAddto */ { ArrayList<Object> list = new18(); push(goTo(7), list); } break; - case 19: /* reduce AVraiE6 */ + case 19: /* reduce ANonNeg */ { ArrayList<Object> list = new19(); - push(goTo(7), list); + push(goTo(8), list); } break; - case 20: /* reduce AFauxE6 */ + case 20: /* reduce AE6Neg */ { ArrayList<Object> list = new20(); - push(goTo(7), list); + push(goTo(8), list); } break; - case 21: /* reduce ALireE6 */ + case 21: /* reduce AParentheseE6 */ { ArrayList<Object> list = new21(); - push(goTo(7), list); + push(goTo(9), list); } break; - case 22: /* reduce AVarE6 */ + case 22: /* reduce ANombreE6 */ { ArrayList<Object> list = new22(); - push(goTo(7), list); + push(goTo(9), list); } break; - case 23: /* reduce AAppelfncE6 */ + case 23: /* reduce AVraiE6 */ { ArrayList<Object> list = new23(); - push(goTo(7), list); + push(goTo(9), list); } break; - case 24: /* reduce AAffectationIns */ + case 24: /* reduce AFauxE6 */ { ArrayList<Object> list = new24(); - push(goTo(8), list); + push(goTo(9), list); } break; - case 25: /* reduce ATqIns */ + case 25: /* reduce ALireE6 */ { ArrayList<Object> list = new25(); - push(goTo(8), list); + push(goTo(9), list); } break; - case 26: /* reduce ASiIns */ + case 26: /* reduce AVarE6 */ { ArrayList<Object> list = new26(); - push(goTo(8), list); + push(goTo(9), list); } break; - case 27: /* reduce ASisinonIns */ + case 27: /* reduce AAppelfncE6 */ { ArrayList<Object> list = new27(); - push(goTo(8), list); + push(goTo(9), list); } break; - case 28: /* reduce AReturnIns */ + case 28: /* reduce AAffectationIns */ { ArrayList<Object> list = new28(); - push(goTo(8), list); + push(goTo(10), list); } break; - case 29: /* reduce AWriteIns */ + case 29: /* reduce ATqIns */ { ArrayList<Object> list = new29(); - push(goTo(8), list); + push(goTo(10), list); } break; - case 30: /* reduce AAppelfncIns */ + case 30: /* reduce ASiIns */ { ArrayList<Object> list = new30(); - push(goTo(8), list); + push(goTo(10), list); } break; - case 31: /* reduce AInstrBloc */ + case 31: /* reduce ASisinonIns */ { ArrayList<Object> list = new31(); - push(goTo(9), list); + push(goTo(10), list); } break; - case 32: /* reduce AListeinstrLi */ + case 32: /* reduce AReturnIns */ { ArrayList<Object> list = new32(); push(goTo(10), list); } break; - case 33: /* reduce AEpsilon$1Li */ + case 33: /* reduce AWriteIns */ { ArrayList<Object> list = new33(); push(goTo(10), list); } break; - case 34: /* reduce AExprLe */ + case 34: /* reduce AAppelfncIns */ { ArrayList<Object> list = new34(); - push(goTo(11), list); + push(goTo(10), list); } break; - case 35: /* reduce AEpsilon$1Le */ + case 35: /* reduce AInstrBloc */ { ArrayList<Object> list = new35(); push(goTo(11), list); } break; - case 36: /* reduce ALstexprLse */ + case 36: /* reduce AListeinstrLi */ { ArrayList<Object> list = new36(); push(goTo(12), list); } break; - case 37: /* reduce AEpsilon$1Lse */ + case 37: /* reduce AEpsilon$1Li */ { ArrayList<Object> list = new37(); push(goTo(12), list); } break; - case 38: /* reduce AIdVar */ + case 38: /* reduce AExprLe */ { ArrayList<Object> list = new38(); push(goTo(13), list); } break; - case 39: /* reduce AIdCrochetVar */ + case 39: /* reduce AEpsilon$1Le */ { ArrayList<Object> list = new39(); push(goTo(13), list); } break; - case 40: /* reduce ADeclavariableDecvar */ + case 40: /* reduce ALstexprLse */ { ArrayList<Object> list = new40(); push(goTo(14), list); } break; - case 41: /* reduce ADecvar */ + case 41: /* reduce AEpsilon$1Lse */ { ArrayList<Object> list = new41(); push(goTo(14), list); } break; - case 42: /* reduce ATypeType */ + case 42: /* reduce AIdVar */ { ArrayList<Object> list = new42(); push(goTo(15), list); } break; - case 43: /* reduce AType */ + case 43: /* reduce AIdCrochetVar */ { ArrayList<Object> list = new43(); push(goTo(15), list); } break; - case 44: /* reduce ADeclafonc$Lstdeclacvar1$Lstdeclacvar2$Typeopt1Decfonc */ + case 44: /* reduce ADeclavariableDecvar */ { ArrayList<Object> list = new44(); push(goTo(16), list); } break; - case 45: /* reduce ADeclafonc$Lstdeclacvar1$Lstdeclacvar2$11Decfonc */ + case 45: /* reduce ADecvar */ { ArrayList<Object> list = new45(); push(goTo(16), list); } break; - case 46: /* reduce ADeclafonc$Lstdeclacvar1$12$Typeopt1Decfonc */ + case 46: /* reduce ATypeType */ { ArrayList<Object> list = new46(); - push(goTo(16), list); + push(goTo(17), list); } break; - case 47: /* reduce ADeclafonc$Lstdeclacvar1$12$11Decfonc */ + case 47: /* reduce AType */ { ArrayList<Object> list = new47(); - push(goTo(16), list); + push(goTo(17), list); } break; - case 48: /* reduce ADeclafonc$11$Lstdeclacvar2$Typeopt1Decfonc */ + case 48: /* reduce ADeclafonc$Lstdeclacvar1$Lstdeclacvar2$Typeopt1Decfonc */ { ArrayList<Object> list = new48(); - push(goTo(16), list); + push(goTo(18), list); } break; - case 49: /* reduce ADeclafonc$11$Lstdeclacvar2$11Decfonc */ + case 49: /* reduce ADeclafonc$Lstdeclacvar1$Lstdeclacvar2$11Decfonc */ { ArrayList<Object> list = new49(); - push(goTo(16), list); + push(goTo(18), list); } break; - case 50: /* reduce ADeclafonc$11$12$Typeopt1Decfonc */ + case 50: /* reduce ADeclafonc$Lstdeclacvar1$12$Typeopt1Decfonc */ { ArrayList<Object> list = new50(); - push(goTo(16), list); + push(goTo(18), list); } break; - case 51: /* reduce ADeclafonc$11$12$11Decfonc */ + case 51: /* reduce ADeclafonc$Lstdeclacvar1$12$11Decfonc */ { ArrayList<Object> list = new51(); - push(goTo(16), list); + push(goTo(18), list); } break; - case 52: /* reduce ASuitedeclvarSuitedec */ + case 52: /* reduce ADeclafonc$11$Lstdeclacvar2$Typeopt1Decfonc */ { ArrayList<Object> list = new52(); - push(goTo(17), list); + push(goTo(18), list); } break; - case 53: /* reduce A1Suitedec */ + case 53: /* reduce ADeclafonc$11$Lstdeclacvar2$11Decfonc */ { ArrayList<Object> list = new53(); - push(goTo(17), list); + push(goTo(18), list); } break; - case 54: /* reduce ALstdecfncLdf */ + case 54: /* reduce ADeclafonc$11$12$Typeopt1Decfonc */ { ArrayList<Object> list = new54(); push(goTo(18), list); } break; - case 55: /* reduce A1Ldf */ + case 55: /* reduce ADeclafonc$11$12$11Decfonc */ { ArrayList<Object> list = new55(); push(goTo(18), list); } break; + case 56: /* reduce ASuitedeclvarSuitedec */ + { + ArrayList<Object> list = new56(); + push(goTo(19), list); + } + break; + case 57: /* reduce A1Suitedec */ + { + ArrayList<Object> list = new57(); + push(goTo(19), list); + } + break; + case 58: /* reduce ALstdecfncLdf */ + { + ArrayList<Object> list = new58(); + push(goTo(20), list); + } + break; + case 59: /* reduce A1Ldf */ + { + ArrayList<Object> list = new59(); + push(goTo(20), list); + } + break; } } @@ -771,12 +795,12 @@ public class Parser // Block PAdd paddNode2; TPlus tplusNode3; - PMult pmultNode4; + PMod pmodNode4; paddNode2 = (PAdd)nodeArrayList1.get(0); tplusNode3 = (TPlus)nodeArrayList2.get(0); - pmultNode4 = (PMult)nodeArrayList3.get(0); + pmodNode4 = (PMod)nodeArrayList3.get(0); - paddNode1 = new APlusAdd(paddNode2, tplusNode3, pmultNode4); + paddNode1 = new APlusAdd(paddNode2, tplusNode3, pmodNode4); } nodeList.add(paddNode1); return nodeList; @@ -797,12 +821,12 @@ public class Parser // Block PAdd paddNode2; TMoins tmoinsNode3; - PMult pmultNode4; + PMod pmodNode4; paddNode2 = (PAdd)nodeArrayList1.get(0); tmoinsNode3 = (TMoins)nodeArrayList2.get(0); - pmultNode4 = (PMult)nodeArrayList3.get(0); + pmodNode4 = (PMod)nodeArrayList3.get(0); - paddNode1 = new AMoinsAdd(paddNode2, tmoinsNode3, pmultNode4); + paddNode1 = new AMoinsAdd(paddNode2, tmoinsNode3, pmodNode4); } nodeList.add(paddNode1); return nodeList; @@ -811,27 +835,73 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new11() /* reduce AMultAdd */ + ArrayList<Object> new11() /* reduce AModAdd */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PAdd paddNode1; + { + // Block + PMod pmodNode2; + pmodNode2 = (PMod)nodeArrayList1.get(0); + + paddNode1 = new AModAdd(pmodNode2); + } + nodeList.add(paddNode1); + return nodeList; + } + + + + @SuppressWarnings({ "unchecked", "rawtypes" }) + ArrayList<Object> new12() /* reduce AModMod */ + { + @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); + + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); + PMod pmodNode1; + { + // Block + PMod pmodNode2; + TModulo tmoduloNode3; + PMult pmultNode4; + pmodNode2 = (PMod)nodeArrayList1.get(0); + tmoduloNode3 = (TModulo)nodeArrayList2.get(0); + pmultNode4 = (PMult)nodeArrayList3.get(0); + + pmodNode1 = new AModMod(pmodNode2, tmoduloNode3, pmultNode4); + } + nodeList.add(pmodNode1); + return nodeList; + } + + + + @SuppressWarnings({ "unchecked", "rawtypes" }) + ArrayList<Object> new13() /* reduce AMultMod */ + { + @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); + + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); + PMod pmodNode1; { // Block PMult pmultNode2; pmultNode2 = (PMult)nodeArrayList1.get(0); - paddNode1 = new AMultAdd(pmultNode2); + pmodNode1 = new AMultMod(pmultNode2); } - nodeList.add(paddNode1); + nodeList.add(pmodNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new12() /* reduce AFoisMult */ + ArrayList<Object> new14() /* reduce AFoisMult */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -857,7 +927,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new13() /* reduce ADiviserMult */ + ArrayList<Object> new15() /* reduce ADiviserMult */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -883,27 +953,73 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new14() /* reduce ANegMult */ + ArrayList<Object> new16() /* reduce AAddtoMult */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); PMult pmultNode1; + { + // Block + PAddto paddtoNode2; + paddtoNode2 = (PAddto)nodeArrayList1.get(0); + + pmultNode1 = new AAddtoMult(paddtoNode2); + } + nodeList.add(pmultNode1); + return nodeList; + } + + + + @SuppressWarnings({ "unchecked", "rawtypes" }) + ArrayList<Object> new17() /* reduce AAddtoAddto */ + { + @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); + + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); + PAddto paddtoNode1; + { + // Block + PAddto paddtoNode2; + TPlusegale tplusegaleNode3; + PNeg pnegNode4; + paddtoNode2 = (PAddto)nodeArrayList1.get(0); + tplusegaleNode3 = (TPlusegale)nodeArrayList2.get(0); + pnegNode4 = (PNeg)nodeArrayList3.get(0); + + paddtoNode1 = new AAddtoAddto(paddtoNode2, tplusegaleNode3, pnegNode4); + } + nodeList.add(paddtoNode1); + return nodeList; + } + + + + @SuppressWarnings({ "unchecked", "rawtypes" }) + ArrayList<Object> new18() /* reduce ANegAddto */ + { + @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); + + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); + PAddto paddtoNode1; { // Block PNeg pnegNode2; pnegNode2 = (PNeg)nodeArrayList1.get(0); - pmultNode1 = new ANegMult(pnegNode2); + paddtoNode1 = new ANegAddto(pnegNode2); } - nodeList.add(pmultNode1); + nodeList.add(paddtoNode1); return nodeList; } @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new15() /* reduce ANonNeg */ + ArrayList<Object> new19() /* reduce ANonNeg */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -926,7 +1042,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new16() /* reduce AE6Neg */ + ArrayList<Object> new20() /* reduce AE6Neg */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -946,7 +1062,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new17() /* reduce AParentheseE6 */ + ArrayList<Object> new21() /* reduce AParentheseE6 */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -972,7 +1088,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new18() /* reduce ANombreE6 */ + ArrayList<Object> new22() /* reduce ANombreE6 */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -992,7 +1108,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new19() /* reduce AVraiE6 */ + ArrayList<Object> new23() /* reduce AVraiE6 */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1012,7 +1128,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new20() /* reduce AFauxE6 */ + ArrayList<Object> new24() /* reduce AFauxE6 */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1032,7 +1148,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new21() /* reduce ALireE6 */ + ArrayList<Object> new25() /* reduce ALireE6 */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1058,7 +1174,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new22() /* reduce AVarE6 */ + ArrayList<Object> new26() /* reduce AVarE6 */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1078,7 +1194,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new23() /* reduce AAppelfncE6 */ + ArrayList<Object> new27() /* reduce AAppelfncE6 */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1107,7 +1223,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new24() /* reduce AAffectationIns */ + ArrayList<Object> new28() /* reduce AAffectationIns */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1136,7 +1252,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new25() /* reduce ATqIns */ + ArrayList<Object> new29() /* reduce ATqIns */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1165,7 +1281,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new26() /* reduce ASiIns */ + ArrayList<Object> new30() /* reduce ASiIns */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1194,7 +1310,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new27() /* reduce ASisinonIns */ + ArrayList<Object> new31() /* reduce ASisinonIns */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1229,7 +1345,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new28() /* reduce AReturnIns */ + ArrayList<Object> new32() /* reduce AReturnIns */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1255,7 +1371,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new29() /* reduce AWriteIns */ + ArrayList<Object> new33() /* reduce AWriteIns */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1287,7 +1403,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new30() /* reduce AAppelfncIns */ + ArrayList<Object> new34() /* reduce AAppelfncIns */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1319,7 +1435,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new31() /* reduce AInstrBloc */ + ArrayList<Object> new35() /* reduce AInstrBloc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1345,7 +1461,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new32() /* reduce AListeinstrLi */ + ArrayList<Object> new36() /* reduce AListeinstrLi */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1368,7 +1484,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new33() /* reduce AEpsilon$1Li */ + ArrayList<Object> new37() /* reduce AEpsilon$1Li */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1391,7 +1507,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new34() /* reduce AExprLe */ + ArrayList<Object> new38() /* reduce AExprLe */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1414,7 +1530,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new35() /* reduce AEpsilon$1Le */ + ArrayList<Object> new39() /* reduce AEpsilon$1Le */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1437,7 +1553,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new36() /* reduce ALstexprLse */ + ArrayList<Object> new40() /* reduce ALstexprLse */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1463,7 +1579,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new37() /* reduce AEpsilon$1Lse */ + ArrayList<Object> new41() /* reduce AEpsilon$1Lse */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1486,7 +1602,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new38() /* reduce AIdVar */ + ArrayList<Object> new42() /* reduce AIdVar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1506,7 +1622,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new39() /* reduce AIdCrochetVar */ + ArrayList<Object> new43() /* reduce AIdCrochetVar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1535,7 +1651,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new40() /* reduce ADeclavariableDecvar */ + ArrayList<Object> new44() /* reduce ADeclavariableDecvar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1558,7 +1674,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new41() /* reduce ADecvar */ + ArrayList<Object> new45() /* reduce ADecvar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1590,7 +1706,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new42() /* reduce ATypeType */ + ArrayList<Object> new46() /* reduce ATypeType */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1610,7 +1726,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new43() /* reduce AType */ + ArrayList<Object> new47() /* reduce AType */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1630,7 +1746,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new44() /* reduce ADeclafonc$Lstdeclacvar1$Lstdeclacvar2$Typeopt1Decfonc */ + ArrayList<Object> new48() /* reduce ADeclafonc$Lstdeclacvar1$Lstdeclacvar2$Typeopt1Decfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1692,7 +1808,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new45() /* reduce ADeclafonc$Lstdeclacvar1$Lstdeclacvar2$11Decfonc */ + ArrayList<Object> new49() /* reduce ADeclafonc$Lstdeclacvar1$Lstdeclacvar2$11Decfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1757,7 +1873,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new46() /* reduce ADeclafonc$Lstdeclacvar1$12$Typeopt1Decfonc */ + ArrayList<Object> new50() /* reduce ADeclafonc$Lstdeclacvar1$12$Typeopt1Decfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1819,7 +1935,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new47() /* reduce ADeclafonc$Lstdeclacvar1$12$11Decfonc */ + ArrayList<Object> new51() /* reduce ADeclafonc$Lstdeclacvar1$12$11Decfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1884,7 +2000,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new48() /* reduce ADeclafonc$11$Lstdeclacvar2$Typeopt1Decfonc */ + ArrayList<Object> new52() /* reduce ADeclafonc$11$Lstdeclacvar2$Typeopt1Decfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1946,7 +2062,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new49() /* reduce ADeclafonc$11$Lstdeclacvar2$11Decfonc */ + ArrayList<Object> new53() /* reduce ADeclafonc$11$Lstdeclacvar2$11Decfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -2011,7 +2127,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new50() /* reduce ADeclafonc$11$12$Typeopt1Decfonc */ + ArrayList<Object> new54() /* reduce ADeclafonc$11$12$Typeopt1Decfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -2073,7 +2189,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new51() /* reduce ADeclafonc$11$12$11Decfonc */ + ArrayList<Object> new55() /* reduce ADeclafonc$11$12$11Decfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -2138,7 +2254,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new52() /* reduce ASuitedeclvarSuitedec */ + ArrayList<Object> new56() /* reduce ASuitedeclvarSuitedec */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -2164,7 +2280,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new53() /* reduce A1Suitedec */ + ArrayList<Object> new57() /* reduce A1Suitedec */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -2187,7 +2303,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new54() /* reduce ALstdecfncLdf */ + ArrayList<Object> new58() /* reduce ALstdecfncLdf */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -2210,7 +2326,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new55() /* reduce A1Ldf */ + ArrayList<Object> new59() /* reduce A1Ldf */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -2234,154 +2350,162 @@ public class Parser private static int[][][] actionTable; /* { - {{-1, REDUCE, 55}, {17, SHIFT, 1}, {18, SHIFT, 2}, {30, SHIFT, 3}, }, - {{-1, REDUCE, 42}, }, - {{-1, REDUCE, 43}, }, - {{-1, ERROR, 3}, {11, SHIFT, 9}, }, - {{-1, ERROR, 4}, {31, ACCEPT, -1}, }, - {{-1, REDUCE, 53}, {5, SHIFT, 10}, }, - {{-1, ERROR, 6}, {30, SHIFT, 12}, }, - {{-1, REDUCE, 55}, {17, SHIFT, 1}, {18, SHIFT, 2}, {30, SHIFT, 3}, }, + {{-1, REDUCE, 59}, {19, SHIFT, 1}, {20, SHIFT, 2}, {32, SHIFT, 3}, }, + {{-1, REDUCE, 46}, }, + {{-1, REDUCE, 47}, }, + {{-1, ERROR, 3}, {13, SHIFT, 9}, }, + {{-1, ERROR, 4}, {33, ACCEPT, -1}, }, + {{-1, REDUCE, 57}, {5, SHIFT, 10}, }, + {{-1, ERROR, 6}, {32, SHIFT, 12}, }, + {{-1, REDUCE, 59}, {19, SHIFT, 1}, {20, SHIFT, 2}, {32, SHIFT, 3}, }, {{-1, REDUCE, 1}, }, - {{-1, ERROR, 9}, {12, SHIFT, 15}, {17, SHIFT, 1}, {18, SHIFT, 2}, }, - {{-1, ERROR, 10}, {17, SHIFT, 1}, {18, SHIFT, 2}, }, - {{-1, REDUCE, 55}, {17, SHIFT, 1}, {18, SHIFT, 2}, {30, SHIFT, 3}, }, - {{-1, REDUCE, 40}, {11, SHIFT, 20}, {15, SHIFT, 21}, }, - {{-1, ERROR, 13}, {30, SHIFT, 22}, }, - {{-1, REDUCE, 54}, }, - {{-1, ERROR, 15}, {13, SHIFT, 23}, {17, SHIFT, 1}, {18, SHIFT, 2}, }, - {{-1, REDUCE, 53}, {5, SHIFT, 10}, }, - {{-1, ERROR, 17}, {30, SHIFT, 27}, }, - {{-1, REDUCE, 53}, {5, SHIFT, 10}, }, + {{-1, ERROR, 9}, {14, SHIFT, 15}, {19, SHIFT, 1}, {20, SHIFT, 2}, }, + {{-1, ERROR, 10}, {19, SHIFT, 1}, {20, SHIFT, 2}, }, + {{-1, REDUCE, 59}, {19, SHIFT, 1}, {20, SHIFT, 2}, {32, SHIFT, 3}, }, + {{-1, REDUCE, 44}, {13, SHIFT, 20}, {17, SHIFT, 21}, }, + {{-1, ERROR, 13}, {32, SHIFT, 22}, }, + {{-1, REDUCE, 58}, }, + {{-1, ERROR, 15}, {15, SHIFT, 23}, {19, SHIFT, 1}, {20, SHIFT, 2}, }, + {{-1, REDUCE, 57}, {5, SHIFT, 10}, }, + {{-1, ERROR, 17}, {32, SHIFT, 27}, }, + {{-1, REDUCE, 57}, {5, SHIFT, 10}, }, {{-1, REDUCE, 0}, }, - {{-1, ERROR, 20}, {12, SHIFT, 29}, {17, SHIFT, 1}, {18, SHIFT, 2}, }, - {{-1, ERROR, 21}, {27, SHIFT, 31}, }, - {{-1, ERROR, 22}, {11, SHIFT, 20}, }, - {{-1, REDUCE, 33}, {19, SHIFT, 32}, {21, SHIFT, 33}, {24, SHIFT, 34}, {26, SHIFT, 35}, {30, SHIFT, 36}, }, + {{-1, ERROR, 20}, {14, SHIFT, 29}, {19, SHIFT, 1}, {20, SHIFT, 2}, }, + {{-1, ERROR, 21}, {29, SHIFT, 31}, }, + {{-1, ERROR, 22}, {13, SHIFT, 20}, }, + {{-1, REDUCE, 37}, {21, SHIFT, 32}, {23, SHIFT, 33}, {26, SHIFT, 34}, {28, SHIFT, 35}, {32, SHIFT, 36}, }, + {{-1, REDUCE, 55}, }, + {{-1, REDUCE, 57}, {5, SHIFT, 10}, }, + {{-1, ERROR, 26}, {14, SHIFT, 41}, }, + {{-1, REDUCE, 44}, {17, SHIFT, 21}, }, + {{-1, REDUCE, 56}, }, + {{-1, ERROR, 29}, {15, SHIFT, 23}, {19, SHIFT, 1}, {20, SHIFT, 2}, }, + {{-1, REDUCE, 57}, {5, SHIFT, 10}, }, + {{-1, ERROR, 31}, {18, SHIFT, 45}, }, + {{-1, ERROR, 32}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 33}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 34}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 35}, {13, SHIFT, 65}, }, + {{-1, REDUCE, 42}, {13, SHIFT, 66}, {17, SHIFT, 67}, }, + {{-1, REDUCE, 37}, {21, SHIFT, 32}, {23, SHIFT, 33}, {26, SHIFT, 34}, {28, SHIFT, 35}, {32, SHIFT, 36}, }, + {{-1, ERROR, 38}, {16, SHIFT, 69}, }, + {{-1, ERROR, 39}, {6, SHIFT, 70}, }, + {{-1, ERROR, 40}, {15, SHIFT, 23}, }, + {{-1, ERROR, 41}, {15, SHIFT, 23}, {19, SHIFT, 1}, {20, SHIFT, 2}, }, + {{-1, REDUCE, 54}, }, + {{-1, REDUCE, 57}, {5, SHIFT, 10}, }, + {{-1, ERROR, 44}, {14, SHIFT, 75}, }, + {{-1, REDUCE, 45}, }, + {{-1, ERROR, 46}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 47}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 48}, {13, SHIFT, 78}, }, + {{-1, REDUCE, 22}, }, + {{-1, REDUCE, 23}, }, + {{-1, REDUCE, 24}, }, + {{-1, REDUCE, 42}, {13, SHIFT, 79}, {17, SHIFT, 67}, }, + {{-1, ERROR, 53}, {3, SHIFT, 80}, {22, SHIFT, 81}, }, + {{-1, REDUCE, 3}, {4, SHIFT, 82}, }, + {{-1, REDUCE, 5}, {6, SHIFT, 83}, {7, SHIFT, 84}, }, + {{-1, REDUCE, 8}, {0, SHIFT, 85}, {2, SHIFT, 86}, }, + {{-1, REDUCE, 11}, {11, SHIFT, 87}, }, + {{-1, REDUCE, 13}, {8, SHIFT, 88}, {9, SHIFT, 89}, }, + {{-1, REDUCE, 16}, {12, SHIFT, 90}, }, + {{-1, REDUCE, 18}, }, + {{-1, REDUCE, 20}, }, + {{-1, REDUCE, 26}, }, + {{-1, ERROR, 63}, {3, SHIFT, 80}, {24, SHIFT, 91}, }, + {{-1, ERROR, 64}, {1, SHIFT, 92}, {3, SHIFT, 80}, }, + {{-1, ERROR, 65}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, REDUCE, 39}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 67}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, REDUCE, 36}, }, + {{-1, REDUCE, 35}, }, + {{-1, ERROR, 70}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, REDUCE, 53}, }, {{-1, REDUCE, 51}, }, - {{-1, REDUCE, 53}, {5, SHIFT, 10}, }, - {{-1, ERROR, 26}, {12, SHIFT, 41}, }, - {{-1, REDUCE, 40}, {15, SHIFT, 21}, }, + {{-1, REDUCE, 57}, {5, SHIFT, 10}, }, + {{-1, ERROR, 74}, {15, SHIFT, 23}, }, + {{-1, ERROR, 75}, {15, SHIFT, 23}, {19, SHIFT, 1}, {20, SHIFT, 2}, }, + {{-1, REDUCE, 19}, }, + {{-1, ERROR, 77}, {3, SHIFT, 80}, {14, SHIFT, 102}, }, + {{-1, ERROR, 78}, {14, SHIFT, 103}, }, + {{-1, REDUCE, 39}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 80}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 81}, {15, SHIFT, 23}, }, + {{-1, ERROR, 82}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 83}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 84}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 85}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 86}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 87}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 88}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 89}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 90}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, ERROR, 91}, {15, SHIFT, 23}, }, + {{-1, REDUCE, 32}, }, + {{-1, ERROR, 93}, {3, SHIFT, 80}, {14, SHIFT, 117}, }, + {{-1, REDUCE, 41}, {3, SHIFT, 80}, {5, SHIFT, 118}, }, + {{-1, ERROR, 95}, {14, SHIFT, 120}, }, + {{-1, ERROR, 96}, {3, SHIFT, 80}, {18, SHIFT, 121}, }, + {{-1, ERROR, 97}, {1, SHIFT, 122}, {3, SHIFT, 80}, }, + {{-1, ERROR, 98}, {15, SHIFT, 23}, }, {{-1, REDUCE, 52}, }, - {{-1, ERROR, 29}, {13, SHIFT, 23}, {17, SHIFT, 1}, {18, SHIFT, 2}, }, - {{-1, REDUCE, 53}, {5, SHIFT, 10}, }, - {{-1, ERROR, 31}, {16, SHIFT, 45}, }, - {{-1, ERROR, 32}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 33}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 34}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 35}, {11, SHIFT, 63}, }, - {{-1, REDUCE, 38}, {11, SHIFT, 64}, {15, SHIFT, 65}, }, - {{-1, REDUCE, 33}, {19, SHIFT, 32}, {21, SHIFT, 33}, {24, SHIFT, 34}, {26, SHIFT, 35}, {30, SHIFT, 36}, }, - {{-1, ERROR, 38}, {14, SHIFT, 67}, }, - {{-1, ERROR, 39}, {6, SHIFT, 68}, }, - {{-1, ERROR, 40}, {13, SHIFT, 23}, }, - {{-1, ERROR, 41}, {13, SHIFT, 23}, {17, SHIFT, 1}, {18, SHIFT, 2}, }, {{-1, REDUCE, 50}, }, - {{-1, REDUCE, 53}, {5, SHIFT, 10}, }, - {{-1, ERROR, 44}, {12, SHIFT, 73}, }, - {{-1, REDUCE, 41}, }, - {{-1, ERROR, 46}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 47}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 48}, {11, SHIFT, 76}, }, - {{-1, REDUCE, 18}, }, - {{-1, REDUCE, 19}, }, - {{-1, REDUCE, 20}, }, - {{-1, REDUCE, 38}, {11, SHIFT, 77}, {15, SHIFT, 65}, }, - {{-1, ERROR, 53}, {3, SHIFT, 78}, {20, SHIFT, 79}, }, - {{-1, REDUCE, 3}, {4, SHIFT, 80}, }, - {{-1, REDUCE, 5}, {6, SHIFT, 81}, {7, SHIFT, 82}, }, - {{-1, REDUCE, 8}, {0, SHIFT, 83}, {2, SHIFT, 84}, }, - {{-1, REDUCE, 11}, {8, SHIFT, 85}, {9, SHIFT, 86}, }, + {{-1, REDUCE, 57}, {5, SHIFT, 10}, }, + {{-1, REDUCE, 21}, }, + {{-1, REDUCE, 25}, }, + {{-1, ERROR, 104}, {14, SHIFT, 125}, }, + {{-1, REDUCE, 2}, {4, SHIFT, 82}, }, + {{-1, REDUCE, 30}, {25, SHIFT, 126}, }, + {{-1, REDUCE, 4}, {6, SHIFT, 83}, {7, SHIFT, 84}, }, + {{-1, REDUCE, 6}, {0, SHIFT, 85}, {2, SHIFT, 86}, }, + {{-1, REDUCE, 7}, {0, SHIFT, 85}, {2, SHIFT, 86}, }, + {{-1, REDUCE, 9}, {11, SHIFT, 87}, }, + {{-1, REDUCE, 10}, {11, SHIFT, 87}, }, + {{-1, REDUCE, 12}, {8, SHIFT, 88}, {9, SHIFT, 89}, }, {{-1, REDUCE, 14}, }, - {{-1, REDUCE, 16}, }, - {{-1, REDUCE, 22}, }, - {{-1, ERROR, 61}, {3, SHIFT, 78}, {22, SHIFT, 87}, }, - {{-1, ERROR, 62}, {1, SHIFT, 88}, {3, SHIFT, 78}, }, - {{-1, ERROR, 63}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, REDUCE, 35}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 65}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, REDUCE, 32}, }, - {{-1, REDUCE, 31}, }, - {{-1, ERROR, 68}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, REDUCE, 49}, }, - {{-1, REDUCE, 47}, }, - {{-1, REDUCE, 53}, {5, SHIFT, 10}, }, - {{-1, ERROR, 72}, {13, SHIFT, 23}, }, - {{-1, ERROR, 73}, {13, SHIFT, 23}, {17, SHIFT, 1}, {18, SHIFT, 2}, }, {{-1, REDUCE, 15}, }, - {{-1, ERROR, 75}, {3, SHIFT, 78}, {12, SHIFT, 98}, }, - {{-1, ERROR, 76}, {12, SHIFT, 99}, }, - {{-1, REDUCE, 35}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 78}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 79}, {13, SHIFT, 23}, }, - {{-1, ERROR, 80}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 81}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 82}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 83}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 84}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 85}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 86}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, ERROR, 87}, {13, SHIFT, 23}, }, - {{-1, REDUCE, 28}, }, - {{-1, ERROR, 89}, {3, SHIFT, 78}, {12, SHIFT, 111}, }, - {{-1, REDUCE, 37}, {3, SHIFT, 78}, {5, SHIFT, 112}, }, - {{-1, ERROR, 91}, {12, SHIFT, 114}, }, - {{-1, ERROR, 92}, {3, SHIFT, 78}, {16, SHIFT, 115}, }, - {{-1, ERROR, 93}, {1, SHIFT, 116}, {3, SHIFT, 78}, }, - {{-1, ERROR, 94}, {13, SHIFT, 23}, }, - {{-1, REDUCE, 48}, }, - {{-1, REDUCE, 46}, }, - {{-1, REDUCE, 53}, {5, SHIFT, 10}, }, {{-1, REDUCE, 17}, }, - {{-1, REDUCE, 21}, }, - {{-1, ERROR, 100}, {12, SHIFT, 119}, }, - {{-1, REDUCE, 2}, {4, SHIFT, 80}, }, - {{-1, REDUCE, 26}, {23, SHIFT, 120}, }, - {{-1, REDUCE, 4}, {6, SHIFT, 81}, {7, SHIFT, 82}, }, - {{-1, REDUCE, 6}, {0, SHIFT, 83}, {2, SHIFT, 84}, }, - {{-1, REDUCE, 7}, {0, SHIFT, 83}, {2, SHIFT, 84}, }, - {{-1, REDUCE, 9}, {8, SHIFT, 85}, {9, SHIFT, 86}, }, - {{-1, REDUCE, 10}, {8, SHIFT, 85}, {9, SHIFT, 86}, }, - {{-1, REDUCE, 12}, }, - {{-1, REDUCE, 13}, }, - {{-1, REDUCE, 25}, }, - {{-1, ERROR, 111}, {1, SHIFT, 121}, }, - {{-1, ERROR, 112}, {10, SHIFT, 46}, {11, SHIFT, 47}, {25, SHIFT, 48}, {27, SHIFT, 49}, {28, SHIFT, 50}, {29, SHIFT, 51}, {30, SHIFT, 52}, }, - {{-1, REDUCE, 34}, }, - {{-1, ERROR, 114}, {1, SHIFT, 123}, }, - {{-1, REDUCE, 39}, }, - {{-1, REDUCE, 24}, }, - {{-1, REDUCE, 45}, }, - {{-1, ERROR, 118}, {13, SHIFT, 23}, }, - {{-1, REDUCE, 23}, }, - {{-1, ERROR, 120}, {13, SHIFT, 23}, }, {{-1, REDUCE, 29}, }, - {{-1, REDUCE, 37}, {3, SHIFT, 78}, {5, SHIFT, 112}, }, - {{-1, REDUCE, 30}, }, - {{-1, REDUCE, 44}, }, + {{-1, ERROR, 117}, {1, SHIFT, 127}, }, + {{-1, ERROR, 118}, {10, SHIFT, 46}, {13, SHIFT, 47}, {27, SHIFT, 48}, {29, SHIFT, 49}, {30, SHIFT, 50}, {31, SHIFT, 51}, {32, SHIFT, 52}, }, + {{-1, REDUCE, 38}, }, + {{-1, ERROR, 120}, {1, SHIFT, 129}, }, + {{-1, REDUCE, 43}, }, + {{-1, REDUCE, 28}, }, + {{-1, REDUCE, 49}, }, + {{-1, ERROR, 124}, {15, SHIFT, 23}, }, {{-1, REDUCE, 27}, }, - {{-1, REDUCE, 36}, }, + {{-1, ERROR, 126}, {15, SHIFT, 23}, }, + {{-1, REDUCE, 33}, }, + {{-1, REDUCE, 41}, {3, SHIFT, 80}, {5, SHIFT, 118}, }, + {{-1, REDUCE, 34}, }, + {{-1, REDUCE, 48}, }, + {{-1, REDUCE, 31}, }, + {{-1, REDUCE, 40}, }, };*/ private static int[][][] gotoTable; /* { {{-1, 4}, }, - {{-1, 90}, {32, 53}, {33, 61}, {34, 62}, {47, 75}, {63, 89}, {65, 92}, {68, 93}, {112, 122}, }, - {{-1, 54}, {78, 101}, }, - {{-1, 55}, {80, 103}, }, - {{-1, 56}, {81, 104}, {82, 105}, }, - {{-1, 57}, {83, 106}, {84, 107}, }, - {{-1, 58}, {46, 74}, {85, 108}, {86, 109}, }, + {{-1, 94}, {32, 53}, {33, 63}, {34, 64}, {47, 77}, {65, 93}, {67, 96}, {70, 97}, {118, 128}, }, + {{-1, 54}, {80, 105}, }, + {{-1, 55}, {82, 107}, }, + {{-1, 56}, {83, 108}, {84, 109}, }, + {{-1, 57}, {85, 110}, {86, 111}, }, + {{-1, 58}, {87, 112}, }, {{-1, 59}, }, + {{-1, 60}, {46, 76}, {88, 113}, {89, 114}, {90, 115}, }, + {{-1, 61}, }, {{-1, 37}, }, - {{-1, 24}, {29, 42}, {40, 69}, {41, 70}, {72, 95}, {73, 96}, {79, 102}, {87, 110}, {94, 117}, {118, 124}, {120, 125}, }, - {{-1, 38}, {37, 66}, }, - {{-1, 91}, {77, 100}, }, - {{-1, 113}, {122, 126}, }, - {{-1, 60}, {23, 39}, {37, 39}, }, - {{-1, 5}, {9, 16}, {10, 18}, {15, 25}, {20, 30}, {29, 43}, {41, 71}, {73, 97}, }, + {{-1, 24}, {29, 42}, {40, 71}, {41, 72}, {74, 99}, {75, 100}, {81, 106}, {91, 116}, {98, 123}, {124, 130}, {126, 131}, }, + {{-1, 38}, {37, 68}, }, + {{-1, 95}, {79, 104}, }, + {{-1, 119}, {128, 132}, }, + {{-1, 62}, {23, 39}, {37, 39}, }, + {{-1, 5}, {9, 16}, {10, 18}, {15, 25}, {20, 30}, {29, 43}, {41, 73}, {75, 101}, }, {{-1, 17}, {0, 6}, {7, 13}, {11, 13}, }, {{-1, 7}, }, - {{-1, 11}, {16, 26}, {18, 28}, {25, 40}, {30, 44}, {43, 72}, {71, 94}, {97, 118}, }, + {{-1, 11}, {16, 26}, {18, 28}, {25, 40}, {30, 44}, {43, 74}, {73, 98}, {101, 124}, }, {{-1, 8}, {7, 14}, {11, 19}, }, };*/ private static String[] errorMessages; @@ -2409,12 +2533,14 @@ public class Parser "expecting: '}'", "expecting: '='", "expecting: '{'", - "expecting: '+', ';', '-', '|', '&', ',', '=', '<', '*', '/', ')', ']', 'alors', 'faire'", - "expecting: '+', ';', '-', '|', '&', ',', '=', '<', '*', '/', '(', ')', '[', ']', 'alors', 'faire'", + "expecting: '+', ';', '-', '|', '&', ',', '=', '<', '*', '/', '%', '+=', ')', ']', 'alors', 'faire'", + "expecting: '+', ';', '-', '|', '&', ',', '=', '<', '*', '/', '%', '+=', '(', ')', '[', ']', 'alors', 'faire'", "expecting: '|', 'alors'", "expecting: ';', '|', '&', ',', ')', ']', 'alors', 'faire'", "expecting: ';', '|', '&', ',', '=', '<', ')', ']', 'alors', 'faire'", "expecting: '+', ';', '-', '|', '&', ',', '=', '<', ')', ']', 'alors', 'faire'", + "expecting: '+', ';', '-', '|', '&', ',', '=', '<', '%', ')', ']', 'alors', 'faire'", + "expecting: '+', ';', '-', '|', '&', ',', '=', '<', '*', '/', '%', ')', ']', 'alors', 'faire'", "expecting: '|', 'faire'", "expecting: ';', '|'", "expecting: '!', '(', ')', 'lire', nombre, 'vrai', 'faux', id", @@ -2427,7 +2553,7 @@ public class Parser };*/ private static int[] errors; /* { - 0, 1, 1, 2, 3, 4, 1, 0, 3, 5, 6, 0, 7, 1, 3, 8, 9, 1, 10, 3, 5, 11, 2, 12, 0, 13, 14, 15, 16, 8, 9, 17, 18, 18, 18, 2, 19, 12, 20, 21, 22, 8, 0, 13, 14, 10, 18, 18, 2, 23, 23, 23, 24, 25, 26, 27, 28, 23, 23, 23, 23, 29, 30, 18, 31, 18, 20, 32, 18, 0, 0, 13, 22, 8, 23, 33, 14, 31, 18, 22, 18, 18, 18, 18, 18, 18, 18, 22, 12, 33, 34, 14, 35, 30, 22, 0, 0, 13, 23, 23, 14, 26, 36, 27, 28, 28, 23, 23, 23, 23, 12, 37, 18, 14, 37, 23, 12, 0, 22, 23, 22, 12, 34, 12, 0, 12, 14, + 0, 1, 1, 2, 3, 4, 1, 0, 3, 5, 6, 0, 7, 1, 3, 8, 9, 1, 10, 3, 5, 11, 2, 12, 0, 13, 14, 15, 16, 8, 9, 17, 18, 18, 18, 2, 19, 12, 20, 21, 22, 8, 0, 13, 14, 10, 18, 18, 2, 23, 23, 23, 24, 25, 26, 27, 28, 29, 30, 23, 23, 23, 23, 31, 32, 18, 33, 18, 20, 34, 18, 0, 0, 13, 22, 8, 23, 35, 14, 33, 18, 22, 18, 18, 18, 18, 18, 18, 18, 18, 18, 22, 12, 35, 36, 14, 37, 32, 22, 0, 0, 13, 23, 23, 14, 26, 38, 27, 28, 28, 29, 29, 30, 30, 30, 23, 12, 39, 18, 14, 39, 23, 12, 0, 22, 23, 22, 12, 36, 12, 0, 12, 14, };*/ static diff --git a/src/lParser/parser/TokenIndex.java b/src/lParser/parser/TokenIndex.java index e11fb83486ec008b6005ea3178abb9f09dbc4517..86cac14fdc7fabb0e89a90c148e62e5c02354960 100644 --- a/src/lParser/parser/TokenIndex.java +++ b/src/lParser/parser/TokenIndex.java @@ -76,128 +76,140 @@ class TokenIndex extends AnalysisAdapter } @Override - public void caseTGparenthese(@SuppressWarnings("unused") TGparenthese node) + public void caseTModulo(@SuppressWarnings("unused") TModulo node) { this.index = 11; } @Override - public void caseTDparenthese(@SuppressWarnings("unused") TDparenthese node) + public void caseTPlusegale(@SuppressWarnings("unused") TPlusegale node) { this.index = 12; } @Override - public void caseTAccoladeg(@SuppressWarnings("unused") TAccoladeg node) + public void caseTGparenthese(@SuppressWarnings("unused") TGparenthese node) { this.index = 13; } @Override - public void caseTAccoladed(@SuppressWarnings("unused") TAccoladed node) + public void caseTDparenthese(@SuppressWarnings("unused") TDparenthese node) { this.index = 14; } @Override - public void caseTCrochetg(@SuppressWarnings("unused") TCrochetg node) + public void caseTAccoladeg(@SuppressWarnings("unused") TAccoladeg node) { this.index = 15; } @Override - public void caseTCrochetd(@SuppressWarnings("unused") TCrochetd node) + public void caseTAccoladed(@SuppressWarnings("unused") TAccoladed node) { this.index = 16; } @Override - public void caseTBool(@SuppressWarnings("unused") TBool node) + public void caseTCrochetg(@SuppressWarnings("unused") TCrochetg node) { this.index = 17; } @Override - public void caseTEntier(@SuppressWarnings("unused") TEntier node) + public void caseTCrochetd(@SuppressWarnings("unused") TCrochetd node) { this.index = 18; } @Override - public void caseTSi(@SuppressWarnings("unused") TSi node) + public void caseTBool(@SuppressWarnings("unused") TBool node) { this.index = 19; } @Override - public void caseTAlors(@SuppressWarnings("unused") TAlors node) + public void caseTEntier(@SuppressWarnings("unused") TEntier node) { this.index = 20; } @Override - public void caseTTantque(@SuppressWarnings("unused") TTantque node) + public void caseTSi(@SuppressWarnings("unused") TSi node) { this.index = 21; } @Override - public void caseTFaire(@SuppressWarnings("unused") TFaire node) + public void caseTAlors(@SuppressWarnings("unused") TAlors node) { this.index = 22; } @Override - public void caseTSinon(@SuppressWarnings("unused") TSinon node) + public void caseTTantque(@SuppressWarnings("unused") TTantque node) { this.index = 23; } @Override - public void caseTRetourner(@SuppressWarnings("unused") TRetourner node) + public void caseTFaire(@SuppressWarnings("unused") TFaire node) { this.index = 24; } @Override - public void caseTLire(@SuppressWarnings("unused") TLire node) + public void caseTSinon(@SuppressWarnings("unused") TSinon node) { this.index = 25; } @Override - public void caseTEcrire(@SuppressWarnings("unused") TEcrire node) + public void caseTRetourner(@SuppressWarnings("unused") TRetourner node) { this.index = 26; } @Override - public void caseTNombre(@SuppressWarnings("unused") TNombre node) + public void caseTLire(@SuppressWarnings("unused") TLire node) { this.index = 27; } @Override - public void caseTVrai(@SuppressWarnings("unused") TVrai node) + public void caseTEcrire(@SuppressWarnings("unused") TEcrire node) { this.index = 28; } @Override - public void caseTFaux(@SuppressWarnings("unused") TFaux node) + public void caseTNombre(@SuppressWarnings("unused") TNombre node) { this.index = 29; } @Override - public void caseTId(@SuppressWarnings("unused") TId node) + public void caseTVrai(@SuppressWarnings("unused") TVrai node) { this.index = 30; } @Override - public void caseEOF(@SuppressWarnings("unused") EOF node) + public void caseTFaux(@SuppressWarnings("unused") TFaux node) { this.index = 31; } + + @Override + public void caseTId(@SuppressWarnings("unused") TId node) + { + this.index = 32; + } + + @Override + public void caseEOF(@SuppressWarnings("unused") EOF node) + { + this.index = 33; + } } diff --git a/src/lParser/parser/parser.dat b/src/lParser/parser/parser.dat index 9dbabdb8133515e879ff42809b35f9ed019ff33c..95f7cf6812ca2d7d1ef5b6136166c1adbe5aa50a 100644 Binary files a/src/lParser/parser/parser.dat and b/src/lParser/parser/parser.dat differ diff --git a/src/sa/Sc2sa.java b/src/sa/Sc2sa.java index 7b3d648539a667b0542267473de7248968d40f44..d8f06624d4fdfc9295d458164c1320ad156b3f4c 100644 --- a/src/sa/Sc2sa.java +++ b/src/sa/Sc2sa.java @@ -1,6 +1,7 @@ package sa; import lParser.analysis.*; import lParser.node.*; +import saParser.node.AModuloExp; import util.Type; public class Sc2sa extends DepthFirstAdapter @@ -152,7 +153,7 @@ public class Sc2sa extends DepthFirstAdapter node.getAdd().apply(this); op1=(SaExp) this.returnValue ; - node.getMult().apply(this); + node.getMod().apply(this); op2=(SaExp) this.returnValue ; this.returnValue = new SaExpAdd(op1,op2); @@ -167,13 +168,35 @@ public class Sc2sa extends DepthFirstAdapter node.getAdd().apply(this); op1=(SaExp) this.returnValue ; - node.getMult().apply(this); + node.getMod().apply(this); op2=(SaExp) this.returnValue ; this.returnValue = new SaExpSub(op1,op2); outAMoinsAdd(node); } + public void caseAAddtoAdd(AAddtoAddto node){ + SaExp op2 = null; + SaVar op1= null ; + + node.getAddto().apply(this); + op1 = (SaVar) this.returnValue; + this.returnValue = new SaIncr(op1,null); + + } + public void caseAmodmod(AModMod node){ + SaExp op1 = null ; + node.getMod().apply(this); + op1 = (SaExp) this.returnValue; + SaExp op2 = null ; + node.getMult().apply(this); + op2 = (SaExp) this.returnValue; + + this.returnValue = new SaExpModulo(op1,op2); + + } + +/* @Override public void caseAMultAdd(AMultAdd node) { @@ -181,7 +204,7 @@ public class Sc2sa extends DepthFirstAdapter node.getMult().apply(this); outAMultAdd(node); } - +*/ @Override public void caseAFoisMult(AFoisMult node) { @@ -214,17 +237,18 @@ public class Sc2sa extends DepthFirstAdapter this.returnValue = new SaExpDiv(op1, op2); outADiviserMult(node); } - +/* public void inANegMult(ANegMult node) { defaultIn(node); } - public void outANegMult(ANegMult node) + public void outANegMult(ANegMult node) { defaultOut(node); } + @Override public void caseANegMult(ANegMult node) { @@ -233,6 +257,7 @@ public class Sc2sa extends DepthFirstAdapter outANegMult(node); } + */ public void inANonNeg(ANonNeg node) { defaultIn(node); diff --git a/src/saParser/analysis/Analysis.java b/src/saParser/analysis/Analysis.java index 3e31ebf283b11de0531d14f1c2801f3c435b1dee..98d490ef368348b9a2a42a3ea139f63c9dd942a2 100644 --- a/src/saParser/analysis/Analysis.java +++ b/src/saParser/analysis/Analysis.java @@ -19,6 +19,7 @@ public interface Analysis extends Switch void caseAEqualExp(AEqualExp node); void caseAInfExp(AInfExp node); void caseAMultExp(AMultExp node); + void caseAModuloExp(AModuloExp node); void caseAOrExp(AOrExp node); void caseASubExp(ASubExp node); void caseANotExp(ANotExp node); @@ -29,6 +30,7 @@ public interface Analysis extends Switch void caseAIntExp(AIntExp node); void caseALireExp(ALireExp node); void caseAAffectInst(AAffectInst node); + void caseAIncrInst(AIncrInst node); void caseABlocInst(ABlocInst node); void caseAEcritureInst(AEcritureInst node); void caseARetourInst(ARetourInst node); @@ -73,12 +75,14 @@ public interface Analysis extends Switch void caseTSaexpint(TSaexpint node); void caseTSaexplire(TSaexplire node); void caseTSaexpmult(TSaexpmult node); + void caseTSaexpmodulo(TSaexpmodulo node); void caseTSaexpnot(TSaexpnot node); void caseTSaexpor(TSaexpor node); void caseTSaexpsub(TSaexpsub node); void caseTSaexpvar(TSaexpvar node); void caseTSaexpvrai(TSaexpvrai node); void caseTSainstaffect(TSainstaffect node); + void caseTSaincr(TSaincr node); void caseTSainstbloc(TSainstbloc node); void caseTSainstecriture(TSainstecriture node); void caseTSainstretour(TSainstretour node); diff --git a/src/saParser/analysis/AnalysisAdapter.java b/src/saParser/analysis/AnalysisAdapter.java index 2d1be4a5456d9891e64fdec89f2082720bfd4aeb..6f315c676a026f3a59d9dcce4fb877af9e170731 100644 --- a/src/saParser/analysis/AnalysisAdapter.java +++ b/src/saParser/analysis/AnalysisAdapter.java @@ -116,6 +116,12 @@ public class AnalysisAdapter implements Analysis defaultCase(node); } + @Override + public void caseAModuloExp(AModuloExp node) + { + defaultCase(node); + } + @Override public void caseAOrExp(AOrExp node) { @@ -176,6 +182,12 @@ public class AnalysisAdapter implements Analysis defaultCase(node); } + @Override + public void caseAIncrInst(AIncrInst node) + { + defaultCase(node); + } + @Override public void caseABlocInst(ABlocInst node) { @@ -434,6 +446,12 @@ public class AnalysisAdapter implements Analysis defaultCase(node); } + @Override + public void caseTSaexpmodulo(TSaexpmodulo node) + { + defaultCase(node); + } + @Override public void caseTSaexpnot(TSaexpnot node) { @@ -470,6 +488,12 @@ public class AnalysisAdapter implements Analysis defaultCase(node); } + @Override + public void caseTSaincr(TSaincr node) + { + defaultCase(node); + } + @Override public void caseTSainstbloc(TSainstbloc node) { diff --git a/src/saParser/analysis/DepthFirstAdapter.java b/src/saParser/analysis/DepthFirstAdapter.java index 80c2ee4eda986187e243174e7a8e2078661af075..c5dd2b2e2da07b3e25894dd14704e363c21b7d61 100644 --- a/src/saParser/analysis/DepthFirstAdapter.java +++ b/src/saParser/analysis/DepthFirstAdapter.java @@ -295,6 +295,43 @@ public class DepthFirstAdapter extends AnalysisAdapter outAMultExp(node); } + public void inAModuloExp(AModuloExp node) + { + defaultIn(node); + } + + public void outAModuloExp(AModuloExp node) + { + defaultOut(node); + } + + @Override + public void caseAModuloExp(AModuloExp node) + { + inAModuloExp(node); + if(node.getPo() != null) + { + node.getPo().apply(this); + } + if(node.getSaexpmodulo() != null) + { + node.getSaexpmodulo().apply(this); + } + if(node.getOp1() != null) + { + node.getOp1().apply(this); + } + if(node.getOp2() != null) + { + node.getOp2().apply(this); + } + if(node.getPf() != null) + { + node.getPf().apply(this); + } + outAModuloExp(node); + } + public void inAOrExp(AOrExp node) { defaultIn(node); @@ -589,6 +626,43 @@ public class DepthFirstAdapter extends AnalysisAdapter outAAffectInst(node); } + public void inAIncrInst(AIncrInst node) + { + defaultIn(node); + } + + public void outAIncrInst(AIncrInst node) + { + defaultOut(node); + } + + @Override + public void caseAIncrInst(AIncrInst node) + { + inAIncrInst(node); + if(node.getPo() != null) + { + node.getPo().apply(this); + } + if(node.getSaincr() != null) + { + node.getSaincr().apply(this); + } + if(node.getVar() != null) + { + node.getVar().apply(this); + } + if(node.getExp() != null) + { + node.getExp().apply(this); + } + if(node.getPf() != null) + { + node.getPf().apply(this); + } + outAIncrInst(node); + } + public void inABlocInst(ABlocInst node) { defaultIn(node); diff --git a/src/saParser/analysis/ReversedDepthFirstAdapter.java b/src/saParser/analysis/ReversedDepthFirstAdapter.java index 598cce69c216ddffe6465bc0fd4345115cff9b3a..9e9deb2f1968d380176da8566de40b1f7a6792fa 100644 --- a/src/saParser/analysis/ReversedDepthFirstAdapter.java +++ b/src/saParser/analysis/ReversedDepthFirstAdapter.java @@ -295,6 +295,43 @@ public class ReversedDepthFirstAdapter extends AnalysisAdapter outAMultExp(node); } + public void inAModuloExp(AModuloExp node) + { + defaultIn(node); + } + + public void outAModuloExp(AModuloExp node) + { + defaultOut(node); + } + + @Override + public void caseAModuloExp(AModuloExp node) + { + inAModuloExp(node); + if(node.getPf() != null) + { + node.getPf().apply(this); + } + if(node.getOp2() != null) + { + node.getOp2().apply(this); + } + if(node.getOp1() != null) + { + node.getOp1().apply(this); + } + if(node.getSaexpmodulo() != null) + { + node.getSaexpmodulo().apply(this); + } + if(node.getPo() != null) + { + node.getPo().apply(this); + } + outAModuloExp(node); + } + public void inAOrExp(AOrExp node) { defaultIn(node); @@ -589,6 +626,43 @@ public class ReversedDepthFirstAdapter extends AnalysisAdapter outAAffectInst(node); } + public void inAIncrInst(AIncrInst node) + { + defaultIn(node); + } + + public void outAIncrInst(AIncrInst node) + { + defaultOut(node); + } + + @Override + public void caseAIncrInst(AIncrInst node) + { + inAIncrInst(node); + if(node.getPf() != null) + { + node.getPf().apply(this); + } + if(node.getExp() != null) + { + node.getExp().apply(this); + } + if(node.getVar() != null) + { + node.getVar().apply(this); + } + if(node.getSaincr() != null) + { + node.getSaincr().apply(this); + } + if(node.getPo() != null) + { + node.getPo().apply(this); + } + outAIncrInst(node); + } + public void inABlocInst(ABlocInst node) { defaultIn(node); diff --git a/src/saParser/lexer/Lexer.java b/src/saParser/lexer/Lexer.java index 648ecb5a1cf0574424e9c9de22d6584f6e2200ac..5529221c5a28aa9328e398b8400a8468773e919d 100644 --- a/src/saParser/lexer/Lexer.java +++ b/src/saParser/lexer/Lexer.java @@ -619,7 +619,6 @@ public class Lexer case 44: { @SuppressWarnings("hiding") Token token = new44( - getText(accept_length), start_line + 1, start_pos + 1); pushBack(accept_length); @@ -630,6 +629,27 @@ public class Lexer case 45: { @SuppressWarnings("hiding") Token token = new45( + start_line + 1, + start_pos + 1); + pushBack(accept_length); + this.pos = accept_pos; + this.line = accept_line; + return token; + } + case 46: + { + @SuppressWarnings("hiding") Token token = new46( + getText(accept_length), + start_line + 1, + start_pos + 1); + pushBack(accept_length); + this.pos = accept_pos; + this.line = accept_line; + return token; + } + case 47: + { + @SuppressWarnings("hiding") Token token = new47( getText(accept_length), start_line + 1, start_pos + 1); @@ -678,33 +698,35 @@ public class Lexer Token new16(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpint(line, pos); } Token new17(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexplire(line, pos); } Token new18(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpmult(line, pos); } - Token new19(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpnot(line, pos); } - Token new20(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpor(line, pos); } - Token new21(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpsub(line, pos); } - Token new22(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpvar(line, pos); } - Token new23(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpvrai(line, pos); } - Token new24(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstaffect(line, pos); } - Token new25(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstbloc(line, pos); } - Token new26(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstecriture(line, pos); } - Token new27(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstretour(line, pos); } - Token new28(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstsi(line, pos); } - Token new29(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainsttantque(line, pos); } - Token new30(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaldecfonc(line, pos); } - Token new31(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaldecvar(line, pos); } - Token new32(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSalexp(line, pos); } - Token new33(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSalinst(line, pos); } - Token new34(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaprog(line, pos); } - Token new35(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSavarindicee(line, pos); } - Token new36(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSavarsimple(line, pos); } - Token new37(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TFaux(line, pos); } - Token new38(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TVrai(line, pos); } - Token new39(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TLire(line, pos); } - Token new40(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNull(line, pos); } - Token new41(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TEntier(line, pos); } - Token new42(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBool(line, pos); } - Token new43(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNul(line, pos); } - Token new44(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TInteger(text, line, pos); } - Token new45(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TId(text, line, pos); } + Token new19(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpmodulo(line, pos); } + Token new20(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpnot(line, pos); } + Token new21(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpor(line, pos); } + Token new22(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpsub(line, pos); } + Token new23(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpvar(line, pos); } + Token new24(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaexpvrai(line, pos); } + Token new25(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstaffect(line, pos); } + Token new26(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaincr(line, pos); } + Token new27(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstbloc(line, pos); } + Token new28(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstecriture(line, pos); } + Token new29(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstretour(line, pos); } + Token new30(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainstsi(line, pos); } + Token new31(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSainsttantque(line, pos); } + Token new32(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaldecfonc(line, pos); } + Token new33(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaldecvar(line, pos); } + Token new34(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSalexp(line, pos); } + Token new35(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSalinst(line, pos); } + Token new36(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSaprog(line, pos); } + Token new37(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSavarindicee(line, pos); } + Token new38(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSavarsimple(line, pos); } + Token new39(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TFaux(line, pos); } + Token new40(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TVrai(line, pos); } + Token new41(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TLire(line, pos); } + Token new42(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNull(line, pos); } + Token new43(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TEntier(line, pos); } + Token new44(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBool(line, pos); } + Token new45(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNul(line, pos); } + Token new46(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TInteger(text, line, pos); } + Token new47(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TId(text, line, pos); } private int getChar() throws IOException { @@ -809,150 +831,157 @@ public class Lexer {{48, 111, -31}, {112, 112, 57}, {113, 122, 20}, }, {{48, 90, -8}, {97, 98, 20}, {99, 99, 58}, {100, 122, 20}, }, {{48, 111, -31}, {112, 112, 59}, {113, 122, 20}, }, - {{48, 90, -8}, {97, 114, 20}, {115, 115, 60}, {116, 122, 20}, }, - {{48, 100, -32}, {101, 101, 61}, {102, 122, 20}, }, - {{48, 119, -33}, {120, 120, 62}, {121, 122, 20}, }, - {{48, 109, -14}, {110, 110, 63}, {111, 122, 20}, }, - {{48, 110, -13}, {111, 111, 64}, {112, 122, 20}, }, - {{48, 113, -18}, {114, 114, 65}, {115, 122, 20}, }, - {{48, 122, -8}, }, - {{48, 100, -32}, {101, 101, 66}, {102, 122, 20}, }, - {{48, 122, -8}, }, + {{48, 98, -45}, {99, 99, 60}, {100, 114, 20}, {115, 115, 61}, {116, 122, 20}, }, + {{48, 100, -32}, {101, 101, 62}, {102, 122, 20}, }, + {{48, 119, -33}, {120, 120, 63}, {121, 122, 20}, }, + {{48, 109, -14}, {110, 110, 64}, {111, 122, 20}, }, + {{48, 110, -13}, {111, 111, 65}, {112, 122, 20}, }, + {{48, 113, -18}, {114, 114, 66}, {115, 122, 20}, }, {{48, 122, -8}, }, + {{48, 100, -32}, {101, 101, 67}, {102, 122, 20}, }, {{48, 122, -8}, }, {{48, 122, -8}, }, - {{48, 100, -32}, {101, 101, 67}, {102, 122, 20}, }, - {{48, 57, 20}, {65, 69, 20}, {70, 70, 68}, {71, 83, 20}, {84, 84, 69}, {85, 85, 20}, {86, 86, 70}, {87, 122, -23}, }, - {{48, 57, 20}, {65, 65, 71}, {66, 67, 20}, {68, 68, 72}, {69, 69, 73}, {70, 70, 74}, {71, 72, 20}, {73, 73, 75}, {74, 75, 20}, {76, 76, 76}, {77, 77, 77}, {78, 78, 78}, {79, 79, 79}, {80, 82, 20}, {83, 83, 80}, {84, 85, 20}, {86, 86, 81}, {87, 122, -23}, }, - {{48, 115, -25}, {116, 116, 82}, {117, 122, 20}, }, - {{48, 98, -45}, {99, 99, 83}, {100, 122, 20}, }, - {{48, 111, -31}, {112, 112, 84}, {113, 122, 20}, }, - {{48, 114, -47}, {115, 115, 85}, {116, 122, 20}, }, - {{48, 90, -8}, {97, 102, 20}, {103, 103, 86}, {104, 122, 20}, }, - {{48, 57, 20}, {65, 72, 20}, {73, 73, 87}, {74, 82, 20}, {83, 83, 88}, {84, 90, 20}, {97, 122, 20}, }, - {{48, 113, -18}, {114, 114, 89}, {115, 122, 20}, }, - {{48, 107, -28}, {108, 108, 90}, {109, 122, 20}, }, - {{48, 110, -13}, {111, 111, 91}, {112, 122, 20}, }, - {{48, 90, -8}, {97, 97, 92}, {98, 122, 20}, }, - {{48, 90, -8}, {97, 97, 93}, {98, 122, 20}, }, - {{48, 90, -8}, {97, 99, 20}, {100, 100, 94}, {101, 109, 20}, {110, 110, 95}, {111, 111, 20}, {112, 112, 96}, {113, 122, 20}, }, - {{48, 104, -16}, {105, 105, 97}, {106, 122, 20}, }, - {{48, 90, -8}, {97, 112, 20}, {113, 113, 98}, {114, 122, 20}, }, - {{48, 90, -8}, {97, 97, 99}, {98, 122, 20}, }, - {{48, 109, -14}, {110, 110, 100}, {111, 122, 20}, }, - {{48, 104, -16}, {105, 105, 101}, {106, 122, 20}, }, - {{48, 116, -17}, {117, 117, 102}, {118, 122, 20}, }, - {{48, 110, -13}, {111, 111, 103}, {112, 122, 20}, }, - {{48, 113, -18}, {114, 114, 104}, {115, 122, 20}, }, - {{48, 116, -17}, {117, 117, 105}, {118, 122, 20}, }, - {{48, 90, -8}, {97, 97, 106}, {98, 113, 20}, {114, 114, 107}, {115, 122, 20}, }, - {{48, 57, 20}, {65, 65, 108}, {66, 66, 109}, {67, 68, 20}, {69, 69, 110}, {70, 81, 20}, {82, 82, 111}, {83, 83, 112}, {84, 84, 113}, {85, 90, 20}, {97, 122, 20}, }, - {{48, 69, -60}, {70, 70, 114}, {71, 85, 20}, {86, 86, 115}, {87, 122, -23}, }, {{48, 122, -8}, }, - {{48, 115, -25}, {116, 116, 116}, {117, 122, 20}, }, {{48, 122, -8}, }, - {{48, 109, -14}, {110, 110, 117}, {111, 122, 20}, }, - {{48, 104, -16}, {105, 105, 118}, {106, 122, 20}, }, + {{48, 100, -32}, {101, 101, 68}, {102, 122, 20}, }, + {{48, 57, 20}, {65, 69, 20}, {70, 70, 69}, {71, 83, 20}, {84, 84, 70}, {85, 85, 20}, {86, 86, 71}, {87, 122, -23}, }, + {{48, 57, 20}, {65, 65, 72}, {66, 67, 20}, {68, 68, 73}, {69, 69, 74}, {70, 70, 75}, {71, 72, 20}, {73, 73, 76}, {74, 75, 20}, {76, 76, 77}, {77, 77, 78}, {78, 78, 79}, {79, 79, 80}, {80, 82, 20}, {83, 83, 81}, {84, 85, 20}, {86, 86, 82}, {87, 122, -23}, }, + {{48, 113, -18}, {114, 114, 83}, {115, 122, 20}, }, + {{48, 115, -25}, {116, 116, 84}, {117, 122, 20}, }, + {{48, 98, -45}, {99, 99, 85}, {100, 122, 20}, }, + {{48, 111, -31}, {112, 112, 86}, {113, 122, 20}, }, + {{48, 90, -8}, {97, 114, 20}, {115, 115, 87}, {116, 122, 20}, }, + {{48, 90, -8}, {97, 102, 20}, {103, 103, 88}, {104, 122, 20}, }, + {{48, 57, 20}, {65, 72, 20}, {73, 73, 89}, {74, 82, 20}, {83, 83, 90}, {84, 90, 20}, {97, 122, 20}, }, + {{48, 113, -18}, {114, 114, 91}, {115, 122, 20}, }, + {{48, 107, -28}, {108, 108, 92}, {109, 122, 20}, }, + {{48, 110, -13}, {111, 111, 93}, {112, 122, 20}, }, + {{48, 90, -8}, {97, 97, 94}, {98, 122, 20}, }, + {{48, 90, -8}, {97, 97, 95}, {98, 122, 20}, }, + {{48, 90, -8}, {97, 99, 20}, {100, 100, 96}, {101, 109, 20}, {110, 110, 97}, {111, 111, 20}, {112, 112, 98}, {113, 122, 20}, }, + {{48, 104, -16}, {105, 105, 99}, {106, 122, 20}, }, + {{48, 90, -8}, {97, 112, 20}, {113, 113, 100}, {114, 122, 20}, }, + {{48, 90, -8}, {97, 97, 101}, {98, 122, 20}, }, + {{48, 109, -14}, {110, 110, 102}, {111, 122, 20}, }, + {{48, 104, -16}, {105, 105, 103}, {106, 122, 20}, }, + {{48, 110, -13}, {111, 111, 104}, {112, 116, 20}, {117, 117, 105}, {118, 122, 20}, }, + {{48, 110, -13}, {111, 111, 106}, {112, 122, 20}, }, + {{48, 113, -18}, {114, 114, 107}, {115, 122, 20}, }, + {{48, 116, -17}, {117, 117, 108}, {118, 122, 20}, }, + {{48, 90, -8}, {97, 97, 109}, {98, 113, 20}, {114, 114, 110}, {115, 122, 20}, }, {{48, 122, -8}, }, + {{48, 57, 20}, {65, 65, 111}, {66, 66, 112}, {67, 68, 20}, {69, 69, 113}, {70, 81, 20}, {82, 82, 114}, {83, 83, 115}, {84, 84, 116}, {85, 90, 20}, {97, 122, 20}, }, + {{48, 69, -60}, {70, 70, 117}, {71, 85, 20}, {86, 86, 118}, {87, 122, -23}, }, {{48, 122, -8}, }, - {{48, 109, -14}, {110, 110, 119}, {111, 122, 20}, }, - {{48, 90, -8}, {97, 97, 20}, {98, 98, 120}, {99, 122, 20}, }, - {{48, 113, -18}, {114, 114, 121}, {115, 122, 20}, }, - {{48, 99, -73}, {100, 100, 122}, {101, 122, 20}, }, - {{48, 99, -73}, {100, 100, 123}, {101, 122, 20}, }, - {{48, 111, -31}, {112, 112, 124}, {113, 122, 20}, }, - {{48, 90, -8}, {97, 117, 20}, {118, 118, 125}, {119, 122, 20}, }, - {{48, 116, -17}, {117, 117, 126}, {118, 122, 20}, }, - {{48, 116, -17}, {117, 117, 127}, {118, 122, 20}, }, - {{48, 90, -8}, {97, 101, 20}, {102, 102, 128}, {103, 115, 20}, {116, 116, 129}, {117, 122, 20}, }, - {{48, 113, -18}, {114, 114, 130}, {115, 122, 20}, }, - {{48, 107, -28}, {108, 108, 131}, {109, 122, 20}, }, - {{48, 115, -25}, {116, 116, 132}, {117, 122, 20}, }, + {{48, 115, -25}, {116, 116, 119}, {117, 122, 20}, }, {{48, 122, -8}, }, - {{48, 97, -94}, {98, 98, 133}, {99, 122, 20}, }, - {{48, 113, -18}, {114, 114, 134}, {115, 122, 20}, }, - {{48, 90, -8}, {97, 97, 135}, {98, 122, 20}, }, - {{48, 101, -102}, {102, 102, 136}, {103, 122, 20}, }, - {{48, 107, -28}, {108, 108, 137}, {109, 122, 20}, }, - {{48, 98, -45}, {99, 99, 138}, {100, 122, 20}, }, - {{48, 100, -32}, {101, 101, 139}, {102, 122, 20}, }, - {{48, 104, -16}, {105, 105, 140}, {106, 122, 20}, }, - {{48, 90, -8}, {97, 97, 141}, {98, 122, 20}, }, - {{48, 110, -13}, {111, 111, 142}, {112, 122, 20}, }, - {{48, 90, -8}, {97, 97, 143}, {98, 122, 20}, }, + {{48, 109, -14}, {110, 110, 120}, {111, 122, 20}, }, + {{48, 104, -16}, {105, 105, 121}, {106, 122, 20}, }, {{48, 122, -8}, }, - {{48, 99, -73}, {100, 100, 144}, {101, 122, 20}, }, - {{48, 90, -8}, {97, 108, 20}, {109, 109, 145}, {110, 122, 20}, }, - {{48, 98, -45}, {99, 99, 146}, {100, 122, 20}, }, {{48, 122, -8}, }, - {{48, 57, 20}, {65, 82, 20}, {83, 83, 147}, {84, 122, -67}, }, + {{48, 109, -14}, {110, 110, 122}, {111, 122, 20}, }, + {{48, 90, -8}, {97, 97, 20}, {98, 98, 123}, {99, 122, 20}, }, + {{48, 113, -18}, {114, 114, 124}, {115, 122, 20}, }, + {{48, 99, -74}, {100, 100, 125}, {101, 122, 20}, }, + {{48, 99, -74}, {100, 100, 126}, {101, 122, 20}, }, + {{48, 111, -31}, {112, 112, 127}, {113, 122, 20}, }, + {{48, 90, -8}, {97, 117, 20}, {118, 118, 128}, {119, 122, 20}, }, + {{48, 116, -17}, {117, 117, 129}, {118, 122, 20}, }, + {{48, 116, -17}, {117, 117, 130}, {118, 122, 20}, }, + {{48, 90, -8}, {97, 101, 20}, {102, 102, 131}, {103, 115, 20}, {116, 116, 132}, {117, 122, 20}, }, + {{48, 113, -18}, {114, 114, 133}, {115, 122, 20}, }, + {{48, 99, -74}, {100, 100, 134}, {101, 122, 20}, }, + {{48, 107, -28}, {108, 108, 135}, {109, 122, 20}, }, + {{48, 115, -25}, {116, 116, 136}, {117, 122, 20}, }, {{48, 122, -8}, }, + {{48, 97, -96}, {98, 98, 137}, {99, 122, 20}, }, + {{48, 113, -18}, {114, 114, 138}, {115, 122, 20}, }, + {{48, 90, -8}, {97, 97, 139}, {98, 122, 20}, }, + {{48, 101, -104}, {102, 102, 140}, {103, 122, 20}, }, + {{48, 107, -28}, {108, 108, 141}, {109, 122, 20}, }, + {{48, 98, -45}, {99, 99, 142}, {100, 122, 20}, }, + {{48, 100, -32}, {101, 101, 143}, {102, 122, 20}, }, + {{48, 104, -16}, {105, 105, 144}, {106, 122, 20}, }, + {{48, 90, -8}, {97, 97, 145}, {98, 122, 20}, }, + {{48, 110, -13}, {111, 111, 146}, {112, 122, 20}, }, + {{48, 90, -8}, {97, 97, 147}, {98, 122, 20}, }, {{48, 122, -8}, }, - {{48, 100, -32}, {101, 101, 148}, {102, 122, 20}, }, + {{48, 99, -74}, {100, 100, 148}, {101, 122, 20}, }, + {{48, 90, -8}, {97, 108, 20}, {109, 109, 149}, {110, 122, 20}, }, + {{48, 98, -45}, {99, 99, 150}, {100, 122, 20}, }, {{48, 122, -8}, }, - {{48, 90, -8}, {97, 97, 149}, {98, 122, 20}, }, - {{48, 119, -33}, {120, 120, 150}, {121, 122, 20}, }, + {{48, 57, 20}, {65, 82, 20}, {83, 83, 151}, {84, 122, -68}, }, {{48, 122, -8}, }, {{48, 122, -8}, }, - {{48, 100, -32}, {101, 101, 151}, {102, 122, 20}, }, - {{48, 115, -25}, {116, 116, 152}, {117, 122, 20}, }, + {{48, 100, -32}, {101, 101, 152}, {102, 122, 20}, }, {{48, 122, -8}, }, + {{48, 90, -8}, {97, 97, 153}, {98, 122, 20}, }, + {{48, 119, -33}, {120, 120, 154}, {121, 122, 20}, }, {{48, 122, -8}, }, {{48, 122, -8}, }, - {{48, 104, -16}, {105, 105, 153}, {106, 122, 20}, }, - {{48, 101, -102}, {102, 102, 154}, {103, 122, 20}, }, - {{48, 110, -13}, {111, 111, 155}, {112, 122, 20}, }, - {{48, 113, -18}, {114, 114, 156}, {115, 122, 20}, }, + {{48, 100, -32}, {101, 101, 155}, {102, 122, 20}, }, + {{48, 116, -17}, {117, 117, 156}, {118, 122, 20}, }, {{48, 115, -25}, {116, 116, 157}, {117, 122, 20}, }, {{48, 122, -8}, }, - {{48, 109, -14}, {110, 110, 158}, {111, 122, 20}, }, - {{48, 109, -14}, {110, 110, 159}, {111, 122, 20}, }, - {{48, 113, -18}, {114, 114, 160}, {115, 122, 20}, }, - {{48, 104, -16}, {105, 105, 161}, {106, 122, 20}, }, - {{48, 111, -31}, {112, 112, 162}, {113, 122, 20}, }, - {{48, 122, -8}, }, - {{48, 104, -16}, {105, 105, 163}, {106, 122, 20}, }, - {{48, 107, -28}, {108, 108, 164}, {109, 122, 20}, }, - {{48, 107, -28}, {108, 108, 165}, {109, 122, 20}, }, {{48, 122, -8}, }, {{48, 122, -8}, }, + {{48, 104, -16}, {105, 105, 158}, {106, 122, 20}, }, + {{48, 101, -104}, {102, 102, 159}, {103, 122, 20}, }, + {{48, 110, -13}, {111, 111, 160}, {112, 122, 20}, }, + {{48, 113, -18}, {114, 114, 161}, {115, 122, 20}, }, + {{48, 115, -25}, {116, 116, 162}, {117, 122, 20}, }, {{48, 122, -8}, }, + {{48, 109, -14}, {110, 110, 163}, {111, 122, 20}, }, + {{48, 109, -14}, {110, 110, 164}, {111, 122, 20}, }, + {{48, 113, -18}, {114, 114, 165}, {115, 122, 20}, }, + {{48, 104, -16}, {105, 105, 166}, {106, 122, 20}, }, + {{48, 111, -31}, {112, 112, 167}, {113, 122, 20}, }, {{48, 122, -8}, }, - {{48, 100, -32}, {101, 101, 166}, {102, 122, 20}, }, - {{48, 98, -45}, {99, 99, 167}, {100, 122, 20}, }, {{48, 104, -16}, {105, 105, 168}, {106, 122, 20}, }, - {{48, 110, -13}, {111, 111, 169}, {112, 122, 20}, }, - {{48, 115, -25}, {116, 116, 170}, {117, 122, 20}, }, - {{48, 98, -45}, {99, 99, 171}, {100, 122, 20}, }, + {{48, 107, -28}, {108, 108, 169}, {109, 122, 20}, }, + {{48, 107, -28}, {108, 108, 170}, {109, 122, 20}, }, {{48, 122, -8}, }, - {{48, 98, -45}, {99, 99, 172}, {100, 122, 20}, }, - {{48, 107, -28}, {108, 108, 173}, {109, 122, 20}, }, - {{48, 108, -120}, {109, 109, 174}, {110, 122, 20}, }, {{48, 122, -8}, }, + {{48, 107, -28}, {108, 108, 171}, {109, 122, 20}, }, {{48, 122, -8}, }, - {{48, 98, -45}, {99, 99, 175}, {100, 122, 20}, }, {{48, 122, -8}, }, + {{48, 100, -32}, {101, 101, 172}, {102, 122, 20}, }, + {{48, 98, -45}, {99, 99, 173}, {100, 122, 20}, }, + {{48, 104, -16}, {105, 105, 174}, {106, 122, 20}, }, + {{48, 110, -13}, {111, 111, 175}, {112, 122, 20}, }, {{48, 115, -25}, {116, 116, 176}, {117, 122, 20}, }, - {{48, 116, -17}, {117, 117, 177}, {118, 122, 20}, }, - {{48, 57, 20}, {65, 80, 20}, {81, 81, 178}, {82, 90, 20}, {97, 122, 20}, }, + {{48, 98, -45}, {99, 99, 177}, {100, 122, 20}, }, + {{48, 122, -8}, }, + {{48, 98, -45}, {99, 99, 178}, {100, 122, 20}, }, + {{48, 107, -28}, {108, 108, 179}, {109, 122, 20}, }, + {{48, 108, -123}, {109, 109, 180}, {110, 122, 20}, }, + {{48, 122, -8}, }, + {{48, 122, -8}, }, + {{48, 110, -13}, {111, 111, 181}, {112, 122, 20}, }, + {{48, 98, -45}, {99, 99, 182}, {100, 122, 20}, }, + {{48, 122, -8}, }, + {{48, 115, -25}, {116, 116, 183}, {117, 122, 20}, }, + {{48, 116, -17}, {117, 117, 184}, {118, 122, 20}, }, + {{48, 57, 20}, {65, 80, 20}, {81, 81, 185}, {82, 90, 20}, {97, 122, 20}, }, {{48, 122, -8}, }, - {{48, 100, -32}, {101, 101, 179}, {102, 122, 20}, }, - {{48, 100, -32}, {101, 101, 180}, {102, 122, 20}, }, - {{48, 111, -31}, {112, 112, 181}, {113, 122, 20}, }, - {{48, 115, -25}, {116, 116, 182}, {117, 122, 20}, }, - {{48, 116, -17}, {117, 117, 183}, {118, 122, 20}, }, - {{48, 113, -18}, {114, 114, 184}, {115, 122, 20}, }, - {{48, 116, -17}, {117, 117, 185}, {118, 122, 20}, }, {{48, 100, -32}, {101, 101, 186}, {102, 122, 20}, }, + {{48, 100, -32}, {101, 101, 187}, {102, 122, 20}, }, + {{48, 111, -31}, {112, 112, 188}, {113, 122, 20}, }, + {{48, 122, -8}, }, + {{48, 115, -25}, {116, 116, 189}, {117, 122, 20}, }, + {{48, 116, -17}, {117, 117, 190}, {118, 122, 20}, }, + {{48, 113, -18}, {114, 114, 191}, {115, 122, 20}, }, + {{48, 116, -17}, {117, 117, 192}, {118, 122, 20}, }, + {{48, 100, -32}, {101, 101, 193}, {102, 122, 20}, }, {{48, 122, -8}, }, - {{48, 107, -28}, {108, 108, 187}, {109, 122, 20}, }, + {{48, 107, -28}, {108, 108, 194}, {109, 122, 20}, }, {{48, 122, -8}, }, - {{48, 113, -18}, {114, 114, 188}, {115, 122, 20}, }, + {{48, 113, -18}, {114, 114, 195}, {115, 122, 20}, }, {{48, 122, -8}, }, - {{48, 100, -32}, {101, 101, 189}, {102, 122, 20}, }, + {{48, 100, -32}, {101, 101, 196}, {102, 122, 20}, }, {{48, 122, -8}, }, - {{48, 100, -32}, {101, 101, 190}, {102, 122, 20}, }, - {{48, 100, -32}, {101, 101, 191}, {102, 122, 20}, }, + {{48, 100, -32}, {101, 101, 197}, {102, 122, 20}, }, + {{48, 100, -32}, {101, 101, 198}, {102, 122, 20}, }, {{48, 122, -8}, }, {{48, 122, -8}, }, {{48, 122, -8}, }, @@ -962,7 +991,7 @@ public class Lexer private static int[][] accept; /* { // INITIAL - {-1, 0, 0, 0, 0, -1, 45, 2, 3, 44, 45, 45, 45, 45, 45, 45, 45, -1, 1, 1, 45, 45, 45, 45, 45, 45, 45, 45, 1, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 43, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 42, 45, 37, 39, 40, 38, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 32, 45, 34, 45, 45, 41, 4, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 20, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 33, 45, 45, 45, 6, 7, 9, 10, 45, 12, 45, 45, 15, 16, 45, 45, 19, 21, 22, 45, 45, 45, 45, 45, 28, 45, 45, 45, 45, 45, 5, 45, 45, 45, 14, 17, 18, 23, 45, 45, 45, 45, 45, 45, 31, 45, 45, 45, 11, 13, 45, 25, 45, 45, 45, 30, 45, 45, 45, 45, 45, 45, 45, 45, 36, 45, 24, 45, 27, 45, 35, 45, 45, 29, 8, 26, }, + {-1, 0, 0, 0, 0, -1, 47, 2, 3, 46, 47, 47, 47, 47, 47, 47, 47, -1, 1, 1, 47, 47, 47, 47, 47, 47, 47, 47, 1, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 45, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 44, 47, 39, 41, 42, 40, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 26, 47, 47, 34, 47, 36, 47, 47, 43, 4, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 21, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 35, 47, 47, 47, 6, 7, 9, 10, 47, 12, 47, 47, 15, 16, 47, 47, 47, 20, 22, 23, 47, 47, 47, 47, 47, 30, 47, 47, 47, 47, 47, 5, 47, 47, 47, 14, 17, 47, 18, 24, 47, 47, 47, 47, 47, 47, 33, 47, 47, 47, 11, 13, 47, 47, 27, 47, 47, 47, 32, 47, 47, 47, 19, 47, 47, 47, 47, 47, 38, 47, 25, 47, 29, 47, 37, 47, 47, 31, 8, 28, }, };*/ diff --git a/src/saParser/lexer/lexer.dat b/src/saParser/lexer/lexer.dat index a1bd028415b0ad63a549525ba6dc4d3836c69934..5472df88c0000d4ff6e2f219d449246eb770387c 100644 Binary files a/src/saParser/lexer/lexer.dat and b/src/saParser/lexer/lexer.dat differ diff --git a/src/saParser/parser/Parser.java b/src/saParser/parser/Parser.java index 92c63c87635462d189d1c02011451300810569ac..efde8a11679eb6681b17029e6447ebf4fcf0b17f 100644 --- a/src/saParser/parser/Parser.java +++ b/src/saParser/parser/Parser.java @@ -240,210 +240,222 @@ public class Parser push(goTo(1), list, false); } break; - case 7: /* reduce AOrExp */ + case 7: /* reduce AModuloExp */ { ArrayList<Object> list = new7(); push(goTo(1), list, false); } break; - case 8: /* reduce ASubExp */ + case 8: /* reduce AOrExp */ { ArrayList<Object> list = new8(); push(goTo(1), list, false); } break; - case 9: /* reduce ANotExp */ + case 9: /* reduce ASubExp */ { ArrayList<Object> list = new9(); push(goTo(1), list, false); } break; - case 10: /* reduce AAppelExp */ + case 10: /* reduce ANotExp */ { ArrayList<Object> list = new10(); push(goTo(1), list, false); } break; - case 11: /* reduce AVarExp */ + case 11: /* reduce AAppelExp */ { ArrayList<Object> list = new11(); push(goTo(1), list, false); } break; - case 12: /* reduce AFauxExp */ + case 12: /* reduce AVarExp */ { ArrayList<Object> list = new12(); push(goTo(1), list, false); } break; - case 13: /* reduce AVraiExp */ + case 13: /* reduce AFauxExp */ { ArrayList<Object> list = new13(); push(goTo(1), list, false); } break; - case 14: /* reduce AIntExp */ + case 14: /* reduce AVraiExp */ { ArrayList<Object> list = new14(); push(goTo(1), list, false); } break; - case 15: /* reduce ALireExp */ + case 15: /* reduce AIntExp */ { ArrayList<Object> list = new15(); push(goTo(1), list, false); } break; - case 16: /* reduce AAffectInst */ + case 16: /* reduce ALireExp */ { ArrayList<Object> list = new16(); - push(goTo(2), list, false); + push(goTo(1), list, false); } break; - case 17: /* reduce ABlocInst */ + case 17: /* reduce AAffectInst */ { ArrayList<Object> list = new17(); push(goTo(2), list, false); } break; - case 18: /* reduce AEcritureInst */ + case 18: /* reduce AIncrInst */ { ArrayList<Object> list = new18(); push(goTo(2), list, false); } break; - case 19: /* reduce ARetourInst */ + case 19: /* reduce ABlocInst */ { ArrayList<Object> list = new19(); push(goTo(2), list, false); } break; - case 20: /* reduce ASiInst */ + case 20: /* reduce AEcritureInst */ { ArrayList<Object> list = new20(); push(goTo(2), list, false); } break; - case 21: /* reduce ASi2Inst */ + case 21: /* reduce ARetourInst */ { ArrayList<Object> list = new21(); push(goTo(2), list, false); } break; - case 22: /* reduce ATantqueInst */ + case 22: /* reduce ASiInst */ { ArrayList<Object> list = new22(); push(goTo(2), list, false); } break; - case 23: /* reduce AAppelInst */ + case 23: /* reduce ASi2Inst */ { ArrayList<Object> list = new23(); push(goTo(2), list, false); } break; - case 24: /* reduce ARecLdecfonc */ + case 24: /* reduce ATantqueInst */ { ArrayList<Object> list = new24(); - push(goTo(3), list, false); + push(goTo(2), list, false); } break; - case 25: /* reduce AFinLdecfonc */ + case 25: /* reduce AAppelInst */ { ArrayList<Object> list = new25(); - push(goTo(3), list, false); + push(goTo(2), list, false); } break; - case 26: /* reduce ARecLdecvar */ + case 26: /* reduce ARecLdecfonc */ { ArrayList<Object> list = new26(); - push(goTo(4), list, false); + push(goTo(3), list, false); } break; - case 27: /* reduce AFinLdecvar */ + case 27: /* reduce AFinLdecfonc */ { ArrayList<Object> list = new27(); - push(goTo(4), list, false); + push(goTo(3), list, false); } break; - case 28: /* reduce ARecLexp */ + case 28: /* reduce ARecLdecvar */ { ArrayList<Object> list = new28(); - push(goTo(5), list, false); + push(goTo(4), list, false); } break; - case 29: /* reduce AFinLexp */ + case 29: /* reduce AFinLdecvar */ { ArrayList<Object> list = new29(); - push(goTo(5), list, false); + push(goTo(4), list, false); } break; - case 30: /* reduce ARecLinst */ + case 30: /* reduce ARecLexp */ { ArrayList<Object> list = new30(); - push(goTo(6), list, false); + push(goTo(5), list, false); } break; - case 31: /* reduce AFinLinst */ + case 31: /* reduce AFinLexp */ { ArrayList<Object> list = new31(); - push(goTo(6), list, false); + push(goTo(5), list, false); } break; - case 32: /* reduce ADecfonc */ + case 32: /* reduce ARecLinst */ { ArrayList<Object> list = new32(); - push(goTo(7), list, false); + push(goTo(6), list, false); } break; - case 33: /* reduce ATabDecvar */ + case 33: /* reduce AFinLinst */ { ArrayList<Object> list = new33(); - push(goTo(8), list, false); + push(goTo(6), list, false); } break; - case 34: /* reduce ASimpleDecvar */ + case 34: /* reduce ADecfonc */ { ArrayList<Object> list = new34(); - push(goTo(8), list, false); + push(goTo(7), list, false); } break; - case 35: /* reduce AIndiceeVar */ + case 35: /* reduce ATabDecvar */ { ArrayList<Object> list = new35(); - push(goTo(9), list, false); + push(goTo(8), list, false); } break; - case 36: /* reduce ASimpleVar */ + case 36: /* reduce ASimpleDecvar */ { ArrayList<Object> list = new36(); - push(goTo(9), list, false); + push(goTo(8), list, false); } break; - case 37: /* reduce AAppel */ + case 37: /* reduce AIndiceeVar */ { ArrayList<Object> list = new37(); - push(goTo(10), list, false); + push(goTo(9), list, false); } break; - case 38: /* reduce AEntierType */ + case 38: /* reduce ASimpleVar */ { ArrayList<Object> list = new38(); - push(goTo(11), list, false); + push(goTo(9), list, false); } break; - case 39: /* reduce ABoolType */ + case 39: /* reduce AAppel */ { ArrayList<Object> list = new39(); - push(goTo(11), list, false); + push(goTo(10), list, false); } break; - case 40: /* reduce ANullType */ + case 40: /* reduce AEntierType */ { ArrayList<Object> list = new40(); push(goTo(11), list, false); } break; + case 41: /* reduce ABoolType */ + { + ArrayList<Object> list = new41(); + push(goTo(11), list, false); + } + break; + case 42: /* reduce ANullType */ + { + ArrayList<Object> list = new42(); + push(goTo(11), list, false); + } + break; } } @@ -674,7 +686,39 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new7() /* reduce AOrExp */ + ArrayList<Object> new7() /* reduce AModuloExp */ + { + @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); + + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList5 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); + PExp pexpNode1; + { + // Block + TPo tpoNode2; + TSaexpmodulo tsaexpmoduloNode3; + PExp pexpNode4; + PExp pexpNode5; + TPf tpfNode6; + tpoNode2 = (TPo)nodeArrayList1.get(0); + tsaexpmoduloNode3 = (TSaexpmodulo)nodeArrayList2.get(0); + pexpNode4 = (PExp)nodeArrayList3.get(0); + pexpNode5 = (PExp)nodeArrayList4.get(0); + tpfNode6 = (TPf)nodeArrayList5.get(0); + + pexpNode1 = new AModuloExp(tpoNode2, tsaexpmoduloNode3, pexpNode4, pexpNode5, tpfNode6); + } + nodeList.add(pexpNode1); + return nodeList; + } + + + + @SuppressWarnings({ "unchecked", "rawtypes" }) + ArrayList<Object> new8() /* reduce AOrExp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -706,7 +750,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new8() /* reduce ASubExp */ + ArrayList<Object> new9() /* reduce ASubExp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -738,7 +782,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new9() /* reduce ANotExp */ + ArrayList<Object> new10() /* reduce ANotExp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -767,7 +811,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new10() /* reduce AAppelExp */ + ArrayList<Object> new11() /* reduce AAppelExp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -796,7 +840,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new11() /* reduce AVarExp */ + ArrayList<Object> new12() /* reduce AVarExp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -825,7 +869,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new12() /* reduce AFauxExp */ + ArrayList<Object> new13() /* reduce AFauxExp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -845,7 +889,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new13() /* reduce AVraiExp */ + ArrayList<Object> new14() /* reduce AVraiExp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -865,7 +909,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new14() /* reduce AIntExp */ + ArrayList<Object> new15() /* reduce AIntExp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -885,7 +929,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new15() /* reduce ALireExp */ + ArrayList<Object> new16() /* reduce ALireExp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -905,7 +949,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new16() /* reduce AAffectInst */ + ArrayList<Object> new17() /* reduce AAffectInst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -937,7 +981,39 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new17() /* reduce ABlocInst */ + ArrayList<Object> new18() /* reduce AIncrInst */ + { + @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); + + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList5 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList4 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList3 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList2 = pop(); + @SuppressWarnings("unused") ArrayList<Object> nodeArrayList1 = pop(); + PInst pinstNode1; + { + // Block + TPo tpoNode2; + TSaincr tsaincrNode3; + PVar pvarNode4; + PExp pexpNode5; + TPf tpfNode6; + tpoNode2 = (TPo)nodeArrayList1.get(0); + tsaincrNode3 = (TSaincr)nodeArrayList2.get(0); + pvarNode4 = (PVar)nodeArrayList3.get(0); + pexpNode5 = (PExp)nodeArrayList4.get(0); + tpfNode6 = (TPf)nodeArrayList5.get(0); + + pinstNode1 = new AIncrInst(tpoNode2, tsaincrNode3, pvarNode4, pexpNode5, tpfNode6); + } + nodeList.add(pinstNode1); + return nodeList; + } + + + + @SuppressWarnings({ "unchecked", "rawtypes" }) + ArrayList<Object> new19() /* reduce ABlocInst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -966,7 +1042,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new18() /* reduce AEcritureInst */ + ArrayList<Object> new20() /* reduce AEcritureInst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -995,7 +1071,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new19() /* reduce ARetourInst */ + ArrayList<Object> new21() /* reduce ARetourInst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1024,7 +1100,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new20() /* reduce ASiInst */ + ArrayList<Object> new22() /* reduce ASiInst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1059,7 +1135,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new21() /* reduce ASi2Inst */ + ArrayList<Object> new23() /* reduce ASi2Inst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1094,7 +1170,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new22() /* reduce ATantqueInst */ + ArrayList<Object> new24() /* reduce ATantqueInst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1126,7 +1202,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new23() /* reduce AAppelInst */ + ArrayList<Object> new25() /* reduce AAppelInst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1146,7 +1222,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new24() /* reduce ARecLdecfonc */ + ArrayList<Object> new26() /* reduce ARecLdecfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1178,7 +1254,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new25() /* reduce AFinLdecfonc */ + ArrayList<Object> new27() /* reduce AFinLdecfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1198,7 +1274,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new26() /* reduce ARecLdecvar */ + ArrayList<Object> new28() /* reduce ARecLdecvar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1230,7 +1306,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new27() /* reduce AFinLdecvar */ + ArrayList<Object> new29() /* reduce AFinLdecvar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1250,7 +1326,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new28() /* reduce ARecLexp */ + ArrayList<Object> new30() /* reduce ARecLexp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1282,7 +1358,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new29() /* reduce AFinLexp */ + ArrayList<Object> new31() /* reduce AFinLexp */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1302,7 +1378,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new30() /* reduce ARecLinst */ + ArrayList<Object> new32() /* reduce ARecLinst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1334,7 +1410,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new31() /* reduce AFinLinst */ + ArrayList<Object> new33() /* reduce AFinLinst */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1354,7 +1430,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new32() /* reduce ADecfonc */ + ArrayList<Object> new34() /* reduce ADecfonc */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1395,7 +1471,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new33() /* reduce ATabDecvar */ + ArrayList<Object> new35() /* reduce ATabDecvar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1430,7 +1506,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new34() /* reduce ASimpleDecvar */ + ArrayList<Object> new36() /* reduce ASimpleDecvar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1462,7 +1538,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new35() /* reduce AIndiceeVar */ + ArrayList<Object> new37() /* reduce AIndiceeVar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1494,7 +1570,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new36() /* reduce ASimpleVar */ + ArrayList<Object> new38() /* reduce ASimpleVar */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1523,7 +1599,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new37() /* reduce AAppel */ + ArrayList<Object> new39() /* reduce AAppel */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1555,7 +1631,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new38() /* reduce AEntierType */ + ArrayList<Object> new40() /* reduce AEntierType */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1575,7 +1651,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new39() /* reduce ABoolType */ + ArrayList<Object> new41() /* reduce ABoolType */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1595,7 +1671,7 @@ public class Parser @SuppressWarnings({ "unchecked", "rawtypes" }) - ArrayList<Object> new40() /* reduce ANullType */ + ArrayList<Object> new42() /* reduce ANullType */ { @SuppressWarnings("hiding") ArrayList<Object> nodeList = new ArrayList<Object>(); @@ -1617,133 +1693,140 @@ public class Parser private static int[][][] actionTable; /* { {{-1, ERROR, 0}, {0, SHIFT, 1}, }, - {{-1, ERROR, 1}, {32, SHIFT, 3}, }, - {{-1, ERROR, 2}, {44, ACCEPT, -1}, }, - {{-1, ERROR, 3}, {0, SHIFT, 4}, {38, SHIFT, 5}, }, - {{-1, ERROR, 4}, {29, SHIFT, 7}, }, - {{-1, REDUCE, 27}, }, - {{-1, ERROR, 6}, {0, SHIFT, 8}, {38, SHIFT, 9}, }, + {{-1, ERROR, 1}, {34, SHIFT, 3}, }, + {{-1, ERROR, 2}, {46, ACCEPT, -1}, }, + {{-1, ERROR, 3}, {0, SHIFT, 4}, {40, SHIFT, 5}, }, + {{-1, ERROR, 4}, {31, SHIFT, 7}, }, + {{-1, REDUCE, 29}, }, + {{-1, ERROR, 6}, {0, SHIFT, 8}, {40, SHIFT, 9}, }, {{-1, ERROR, 7}, {0, SHIFT, 11}, }, - {{-1, ERROR, 8}, {28, SHIFT, 13}, }, - {{-1, REDUCE, 25}, }, + {{-1, ERROR, 8}, {30, SHIFT, 13}, }, + {{-1, REDUCE, 27}, }, {{-1, ERROR, 10}, {1, SHIFT, 14}, }, {{-1, ERROR, 11}, {4, SHIFT, 15}, {6, SHIFT, 16}, }, - {{-1, ERROR, 12}, {0, SHIFT, 4}, {38, SHIFT, 5}, }, + {{-1, ERROR, 12}, {0, SHIFT, 4}, {40, SHIFT, 5}, }, {{-1, ERROR, 13}, {0, SHIFT, 18}, }, {{-1, REDUCE, 0}, }, - {{-1, ERROR, 15}, {43, SHIFT, 20}, }, - {{-1, ERROR, 16}, {43, SHIFT, 21}, }, + {{-1, ERROR, 15}, {45, SHIFT, 20}, }, + {{-1, ERROR, 16}, {45, SHIFT, 21}, }, {{-1, ERROR, 17}, {1, SHIFT, 22}, }, {{-1, ERROR, 18}, {3, SHIFT, 23}, }, - {{-1, ERROR, 19}, {0, SHIFT, 8}, {38, SHIFT, 9}, }, - {{-1, ERROR, 20}, {39, SHIFT, 25}, {40, SHIFT, 26}, {41, SHIFT, 27}, }, - {{-1, ERROR, 21}, {39, SHIFT, 25}, {40, SHIFT, 26}, {41, SHIFT, 27}, }, - {{-1, REDUCE, 26}, }, - {{-1, ERROR, 23}, {43, SHIFT, 30}, }, + {{-1, ERROR, 19}, {0, SHIFT, 8}, {40, SHIFT, 9}, }, + {{-1, ERROR, 20}, {41, SHIFT, 25}, {42, SHIFT, 26}, {43, SHIFT, 27}, }, + {{-1, ERROR, 21}, {41, SHIFT, 25}, {42, SHIFT, 26}, {43, SHIFT, 27}, }, + {{-1, REDUCE, 28}, }, + {{-1, ERROR, 23}, {45, SHIFT, 30}, }, {{-1, ERROR, 24}, {1, SHIFT, 31}, }, - {{-1, REDUCE, 38}, }, - {{-1, REDUCE, 39}, }, {{-1, REDUCE, 40}, }, - {{-1, ERROR, 28}, {42, SHIFT, 32}, }, + {{-1, REDUCE, 41}, }, + {{-1, REDUCE, 42}, }, + {{-1, ERROR, 28}, {44, SHIFT, 32}, }, {{-1, ERROR, 29}, {1, SHIFT, 33}, }, - {{-1, ERROR, 30}, {39, SHIFT, 25}, {40, SHIFT, 26}, {41, SHIFT, 27}, }, - {{-1, REDUCE, 24}, }, + {{-1, ERROR, 30}, {41, SHIFT, 25}, {42, SHIFT, 26}, {43, SHIFT, 27}, }, + {{-1, REDUCE, 26}, }, {{-1, ERROR, 32}, {1, SHIFT, 35}, }, + {{-1, REDUCE, 36}, }, + {{-1, ERROR, 34}, {0, SHIFT, 4}, {40, SHIFT, 5}, }, + {{-1, REDUCE, 35}, }, + {{-1, ERROR, 36}, {0, SHIFT, 4}, {40, SHIFT, 5}, }, + {{-1, ERROR, 37}, {0, SHIFT, 38}, }, + {{-1, ERROR, 38}, {2, SHIFT, 41}, {23, SHIFT, 42}, {24, SHIFT, 43}, {25, SHIFT, 44}, {26, SHIFT, 45}, {27, SHIFT, 46}, {28, SHIFT, 47}, {29, SHIFT, 48}, }, + {{-1, ERROR, 39}, {1, SHIFT, 49}, }, + {{-1, REDUCE, 25}, }, + {{-1, ERROR, 41}, {45, SHIFT, 50}, }, + {{-1, ERROR, 42}, {0, SHIFT, 51}, }, + {{-1, ERROR, 43}, {0, SHIFT, 51}, }, + {{-1, ERROR, 44}, {0, SHIFT, 54}, {40, SHIFT, 55}, }, + {{-1, ERROR, 45}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 46}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 47}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 48}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, {{-1, REDUCE, 34}, }, - {{-1, ERROR, 34}, {0, SHIFT, 4}, {38, SHIFT, 5}, }, + {{-1, ERROR, 50}, {0, SHIFT, 66}, {40, SHIFT, 67}, }, + {{-1, ERROR, 51}, {35, SHIFT, 69}, {36, SHIFT, 70}, }, + {{-1, ERROR, 52}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 53}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 54}, {33, SHIFT, 73}, }, {{-1, REDUCE, 33}, }, - {{-1, ERROR, 36}, {0, SHIFT, 4}, {38, SHIFT, 5}, }, - {{-1, ERROR, 37}, {0, SHIFT, 38}, }, - {{-1, ERROR, 38}, {2, SHIFT, 41}, {22, SHIFT, 42}, {23, SHIFT, 43}, {24, SHIFT, 44}, {25, SHIFT, 45}, {26, SHIFT, 46}, {27, SHIFT, 47}, }, - {{-1, ERROR, 39}, {1, SHIFT, 48}, }, - {{-1, REDUCE, 23}, }, - {{-1, ERROR, 41}, {43, SHIFT, 49}, }, - {{-1, ERROR, 42}, {0, SHIFT, 50}, }, - {{-1, ERROR, 43}, {0, SHIFT, 52}, {38, SHIFT, 53}, }, - {{-1, ERROR, 44}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 45}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 46}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 47}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, REDUCE, 32}, }, - {{-1, ERROR, 49}, {0, SHIFT, 64}, {38, SHIFT, 65}, }, - {{-1, ERROR, 50}, {33, SHIFT, 67}, {34, SHIFT, 68}, }, - {{-1, ERROR, 51}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 52}, {31, SHIFT, 70}, }, - {{-1, REDUCE, 31}, }, - {{-1, ERROR, 54}, {1, SHIFT, 71}, }, - {{-1, ERROR, 55}, {7, SHIFT, 72}, {8, SHIFT, 73}, {9, SHIFT, 74}, {10, SHIFT, 75}, {11, SHIFT, 76}, {13, SHIFT, 77}, {16, SHIFT, 78}, {17, SHIFT, 79}, {18, SHIFT, 80}, {19, SHIFT, 81}, {20, SHIFT, 82}, }, - {{-1, REDUCE, 12}, }, + {{-1, ERROR, 56}, {1, SHIFT, 74}, }, + {{-1, ERROR, 57}, {7, SHIFT, 75}, {8, SHIFT, 76}, {9, SHIFT, 77}, {10, SHIFT, 78}, {11, SHIFT, 79}, {13, SHIFT, 80}, {16, SHIFT, 81}, {17, SHIFT, 82}, {18, SHIFT, 83}, {19, SHIFT, 84}, {20, SHIFT, 85}, {21, SHIFT, 86}, }, {{-1, REDUCE, 13}, }, - {{-1, REDUCE, 15}, }, {{-1, REDUCE, 14}, }, - {{-1, ERROR, 60}, {1, SHIFT, 83}, }, - {{-1, ERROR, 61}, {1, SHIFT, 84}, }, - {{-1, ERROR, 62}, {0, SHIFT, 38}, }, - {{-1, ERROR, 63}, {0, SHIFT, 38}, }, - {{-1, ERROR, 64}, {30, SHIFT, 87}, }, - {{-1, REDUCE, 29}, }, - {{-1, ERROR, 66}, {1, SHIFT, 88}, }, - {{-1, ERROR, 67}, {43, SHIFT, 89}, }, - {{-1, ERROR, 68}, {43, SHIFT, 90}, }, - {{-1, ERROR, 69}, {1, SHIFT, 91}, }, - {{-1, ERROR, 70}, {0, SHIFT, 38}, }, + {{-1, REDUCE, 16}, }, + {{-1, REDUCE, 15}, }, + {{-1, ERROR, 62}, {1, SHIFT, 87}, }, + {{-1, ERROR, 63}, {1, SHIFT, 88}, }, + {{-1, ERROR, 64}, {0, SHIFT, 38}, }, + {{-1, ERROR, 65}, {0, SHIFT, 38}, }, + {{-1, ERROR, 66}, {32, SHIFT, 91}, }, + {{-1, REDUCE, 31}, }, + {{-1, ERROR, 68}, {1, SHIFT, 92}, }, + {{-1, ERROR, 69}, {45, SHIFT, 93}, }, + {{-1, ERROR, 70}, {45, SHIFT, 94}, }, + {{-1, ERROR, 71}, {1, SHIFT, 95}, }, + {{-1, ERROR, 72}, {1, SHIFT, 96}, }, + {{-1, ERROR, 73}, {0, SHIFT, 38}, }, + {{-1, REDUCE, 19}, }, + {{-1, ERROR, 75}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 76}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 77}, {0, SHIFT, 100}, }, + {{-1, ERROR, 78}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 79}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 80}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 81}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 82}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 83}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 84}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 85}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 86}, {0, SHIFT, 51}, }, + {{-1, REDUCE, 20}, }, + {{-1, REDUCE, 21}, }, + {{-1, ERROR, 89}, {0, SHIFT, 38}, {40, SHIFT, 111}, }, + {{-1, ERROR, 90}, {1, SHIFT, 113}, }, + {{-1, ERROR, 91}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, REDUCE, 39}, }, + {{-1, ERROR, 93}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 94}, {1, SHIFT, 116}, }, {{-1, REDUCE, 17}, }, - {{-1, ERROR, 72}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 73}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 74}, {0, SHIFT, 95}, }, - {{-1, ERROR, 75}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 76}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 77}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 78}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 79}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 80}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 81}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 82}, {0, SHIFT, 50}, }, {{-1, REDUCE, 18}, }, - {{-1, REDUCE, 19}, }, - {{-1, ERROR, 85}, {0, SHIFT, 38}, {38, SHIFT, 105}, }, - {{-1, ERROR, 86}, {1, SHIFT, 107}, }, - {{-1, ERROR, 87}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, REDUCE, 37}, }, - {{-1, ERROR, 89}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 90}, {1, SHIFT, 110}, }, - {{-1, REDUCE, 16}, }, - {{-1, ERROR, 92}, {0, SHIFT, 52}, {38, SHIFT, 53}, }, - {{-1, ERROR, 93}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 94}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 95}, {2, SHIFT, 41}, }, - {{-1, ERROR, 96}, {1, SHIFT, 114}, }, - {{-1, ERROR, 97}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 98}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 99}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 100}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 101}, {1, SHIFT, 119}, }, - {{-1, ERROR, 102}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 103}, {0, SHIFT, 55}, {35, SHIFT, 56}, {36, SHIFT, 57}, {37, SHIFT, 58}, {42, SHIFT, 59}, }, - {{-1, ERROR, 104}, {1, SHIFT, 122}, }, - {{-1, ERROR, 105}, {1, SHIFT, 123}, }, - {{-1, ERROR, 106}, {1, SHIFT, 124}, }, - {{-1, REDUCE, 22}, }, - {{-1, ERROR, 108}, {0, SHIFT, 64}, {38, SHIFT, 65}, }, - {{-1, ERROR, 109}, {1, SHIFT, 126}, }, - {{-1, REDUCE, 36}, }, - {{-1, ERROR, 111}, {1, SHIFT, 127}, }, - {{-1, ERROR, 112}, {1, SHIFT, 128}, }, - {{-1, ERROR, 113}, {1, SHIFT, 129}, }, - {{-1, REDUCE, 10}, }, - {{-1, ERROR, 115}, {1, SHIFT, 130}, }, - {{-1, ERROR, 116}, {1, SHIFT, 131}, }, - {{-1, ERROR, 117}, {1, SHIFT, 132}, }, - {{-1, ERROR, 118}, {1, SHIFT, 133}, }, - {{-1, REDUCE, 9}, }, - {{-1, ERROR, 120}, {1, SHIFT, 134}, }, - {{-1, ERROR, 121}, {1, SHIFT, 135}, }, + {{-1, ERROR, 97}, {0, SHIFT, 54}, {40, SHIFT, 55}, }, + {{-1, ERROR, 98}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 99}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 100}, {2, SHIFT, 41}, }, + {{-1, ERROR, 101}, {1, SHIFT, 120}, }, + {{-1, ERROR, 102}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 103}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 104}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 105}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 106}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 107}, {1, SHIFT, 126}, }, + {{-1, ERROR, 108}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 109}, {0, SHIFT, 57}, {37, SHIFT, 58}, {38, SHIFT, 59}, {39, SHIFT, 60}, {44, SHIFT, 61}, }, + {{-1, ERROR, 110}, {1, SHIFT, 129}, }, + {{-1, ERROR, 111}, {1, SHIFT, 130}, }, + {{-1, ERROR, 112}, {1, SHIFT, 131}, }, + {{-1, REDUCE, 24}, }, + {{-1, ERROR, 114}, {0, SHIFT, 66}, {40, SHIFT, 67}, }, + {{-1, ERROR, 115}, {1, SHIFT, 133}, }, + {{-1, REDUCE, 38}, }, + {{-1, ERROR, 117}, {1, SHIFT, 134}, }, + {{-1, ERROR, 118}, {1, SHIFT, 135}, }, + {{-1, ERROR, 119}, {1, SHIFT, 136}, }, {{-1, REDUCE, 11}, }, - {{-1, REDUCE, 21}, }, - {{-1, REDUCE, 20}, }, - {{-1, ERROR, 125}, {1, SHIFT, 136}, }, - {{-1, REDUCE, 35}, }, - {{-1, REDUCE, 30}, }, + {{-1, ERROR, 121}, {1, SHIFT, 137}, }, + {{-1, ERROR, 122}, {1, SHIFT, 138}, }, + {{-1, ERROR, 123}, {1, SHIFT, 139}, }, + {{-1, ERROR, 124}, {1, SHIFT, 140}, }, + {{-1, ERROR, 125}, {1, SHIFT, 141}, }, + {{-1, REDUCE, 10}, }, + {{-1, ERROR, 127}, {1, SHIFT, 142}, }, + {{-1, ERROR, 128}, {1, SHIFT, 143}, }, + {{-1, REDUCE, 12}, }, + {{-1, REDUCE, 23}, }, + {{-1, REDUCE, 22}, }, + {{-1, ERROR, 132}, {1, SHIFT, 144}, }, + {{-1, REDUCE, 37}, }, + {{-1, REDUCE, 32}, }, {{-1, REDUCE, 1}, }, {{-1, REDUCE, 2}, }, {{-1, REDUCE, 3}, }, @@ -1752,21 +1835,22 @@ public class Parser {{-1, REDUCE, 6}, }, {{-1, REDUCE, 7}, }, {{-1, REDUCE, 8}, }, - {{-1, REDUCE, 28}, }, + {{-1, REDUCE, 9}, }, + {{-1, REDUCE, 30}, }, };*/ private static int[][][] gotoTable; /* { {{-1, 2}, }, - {{-1, 60}, {45, 61}, {46, 62}, {47, 63}, {51, 69}, {72, 93}, {73, 94}, {75, 97}, {76, 98}, {77, 99}, {78, 100}, {79, 101}, {80, 102}, {81, 103}, {87, 108}, {89, 109}, {93, 112}, {94, 113}, {97, 115}, {98, 116}, {99, 117}, {100, 118}, {102, 120}, {103, 121}, }, - {{-1, 39}, {62, 85}, {63, 86}, {70, 92}, {85, 106}, }, + {{-1, 62}, {46, 63}, {47, 64}, {48, 65}, {52, 71}, {53, 72}, {75, 98}, {76, 99}, {78, 102}, {79, 103}, {80, 104}, {81, 105}, {82, 106}, {83, 107}, {84, 108}, {85, 109}, {91, 114}, {93, 115}, {98, 118}, {99, 119}, {102, 121}, {103, 122}, {104, 123}, {105, 124}, {106, 125}, {108, 127}, {109, 128}, }, + {{-1, 39}, {64, 89}, {65, 90}, {73, 97}, {89, 112}, }, {{-1, 10}, {19, 24}, }, {{-1, 6}, {12, 17}, {34, 36}, {36, 37}, }, - {{-1, 66}, {108, 125}, }, - {{-1, 54}, {92, 111}, }, + {{-1, 68}, {114, 132}, }, + {{-1, 56}, {97, 117}, }, {{-1, 19}, }, {{-1, 12}, }, - {{-1, 51}, {82, 104}, }, - {{-1, 40}, {74, 96}, }, + {{-1, 52}, {43, 53}, {86, 110}, }, + {{-1, 40}, {77, 101}, }, {{-1, 28}, {21, 29}, {30, 34}, }, };*/ private static String[] errorMessages; @@ -1785,11 +1869,11 @@ public class Parser "expecting: 'entier', 'bool', 'nul'", "expecting: '(', ')', 'null', integer", "expecting: integer", - "expecting: 'SaAppel', 'SaInstAffect', 'SaInstBloc', 'SaInstEcriture', 'SaInstRetour', 'SaInstSi', 'SaInstTantQue'", + "expecting: 'SaAppel', 'SaInstAffect', 'SaIncr', 'SaInstBloc', 'SaInstEcriture', 'SaInstRetour', 'SaInstSi', 'SaInstTantQue'", "expecting: '(', 'faux', 'vrai', 'lire', integer", "expecting: 'SaVarIndicee', 'SaVarSimple'", "expecting: 'SaLInst'", - "expecting: 'SaExpAdd', 'SaExpAnd', 'SaExpAppel', 'SaExpDiv', 'SaExpEqual', 'SaExpInf', 'SaExpMult', 'SaExpNot', 'SaExpOr', 'SaExpSub', 'SaExpVar'", + "expecting: 'SaExpAdd', 'SaExpAnd', 'SaExpAppel', 'SaExpDiv', 'SaExpEqual', 'SaExpInf', 'SaExpMult', 'SaExpModulo', 'SaExpNot', 'SaExpOr', 'SaExpSub', 'SaExpVar'", "expecting: '(', ')', 'faux', 'vrai', 'lire', 'null', integer", "expecting: 'SaLExp'", "expecting: 'SaAppel'", @@ -1797,7 +1881,7 @@ public class Parser };*/ private static int[] errors; /* { - 0, 1, 2, 3, 4, 5, 3, 0, 6, 7, 7, 8, 3, 0, 2, 9, 9, 7, 10, 3, 11, 11, 5, 9, 7, 12, 12, 12, 13, 7, 11, 7, 7, 3, 3, 3, 3, 0, 14, 7, 5, 9, 0, 3, 15, 15, 15, 15, 3, 3, 16, 15, 17, 7, 7, 18, 19, 19, 19, 19, 7, 7, 0, 0, 20, 7, 7, 9, 9, 7, 0, 5, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 0, 5, 5, 3, 7, 15, 5, 15, 7, 5, 3, 15, 15, 21, 7, 15, 15, 15, 15, 7, 15, 15, 7, 7, 7, 5, 3, 7, 22, 7, 7, 7, 19, 7, 7, 7, 7, 19, 7, 7, 19, 5, 5, 7, 22, 7, 19, 19, 19, 19, 19, 19, 19, 19, 7, + 0, 1, 2, 3, 4, 5, 3, 0, 6, 7, 7, 8, 3, 0, 2, 9, 9, 7, 10, 3, 11, 11, 5, 9, 7, 12, 12, 12, 13, 7, 11, 7, 7, 3, 3, 3, 3, 0, 14, 7, 5, 9, 0, 0, 3, 15, 15, 15, 15, 3, 3, 16, 15, 15, 17, 7, 7, 18, 19, 19, 19, 19, 7, 7, 0, 0, 20, 7, 7, 9, 9, 7, 7, 0, 5, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 0, 5, 5, 3, 7, 15, 5, 15, 7, 5, 5, 3, 15, 15, 21, 7, 15, 15, 15, 15, 15, 7, 15, 15, 7, 7, 7, 5, 3, 7, 22, 7, 7, 7, 19, 7, 7, 7, 7, 7, 19, 7, 7, 19, 5, 5, 7, 22, 7, 19, 19, 19, 19, 19, 19, 19, 19, 19, 7, };*/ static diff --git a/src/saParser/parser/TokenIndex.java b/src/saParser/parser/TokenIndex.java index c7c5f320853ff37760678a70f098126a2a058aa7..9e14b98f58738468108b8cc1bd41fba414d242ee 100644 --- a/src/saParser/parser/TokenIndex.java +++ b/src/saParser/parser/TokenIndex.java @@ -112,170 +112,182 @@ class TokenIndex extends AnalysisAdapter } @Override - public void caseTSaexpnot(@SuppressWarnings("unused") TSaexpnot node) + public void caseTSaexpmodulo(@SuppressWarnings("unused") TSaexpmodulo node) { this.index = 17; } @Override - public void caseTSaexpor(@SuppressWarnings("unused") TSaexpor node) + public void caseTSaexpnot(@SuppressWarnings("unused") TSaexpnot node) { this.index = 18; } @Override - public void caseTSaexpsub(@SuppressWarnings("unused") TSaexpsub node) + public void caseTSaexpor(@SuppressWarnings("unused") TSaexpor node) { this.index = 19; } @Override - public void caseTSaexpvar(@SuppressWarnings("unused") TSaexpvar node) + public void caseTSaexpsub(@SuppressWarnings("unused") TSaexpsub node) { this.index = 20; } @Override - public void caseTSaexpvrai(@SuppressWarnings("unused") TSaexpvrai node) + public void caseTSaexpvar(@SuppressWarnings("unused") TSaexpvar node) { this.index = 21; } @Override - public void caseTSainstaffect(@SuppressWarnings("unused") TSainstaffect node) + public void caseTSaexpvrai(@SuppressWarnings("unused") TSaexpvrai node) { this.index = 22; } @Override - public void caseTSainstbloc(@SuppressWarnings("unused") TSainstbloc node) + public void caseTSainstaffect(@SuppressWarnings("unused") TSainstaffect node) { this.index = 23; } @Override - public void caseTSainstecriture(@SuppressWarnings("unused") TSainstecriture node) + public void caseTSaincr(@SuppressWarnings("unused") TSaincr node) { this.index = 24; } @Override - public void caseTSainstretour(@SuppressWarnings("unused") TSainstretour node) + public void caseTSainstbloc(@SuppressWarnings("unused") TSainstbloc node) { this.index = 25; } @Override - public void caseTSainstsi(@SuppressWarnings("unused") TSainstsi node) + public void caseTSainstecriture(@SuppressWarnings("unused") TSainstecriture node) { this.index = 26; } @Override - public void caseTSainsttantque(@SuppressWarnings("unused") TSainsttantque node) + public void caseTSainstretour(@SuppressWarnings("unused") TSainstretour node) { this.index = 27; } @Override - public void caseTSaldecfonc(@SuppressWarnings("unused") TSaldecfonc node) + public void caseTSainstsi(@SuppressWarnings("unused") TSainstsi node) { this.index = 28; } @Override - public void caseTSaldecvar(@SuppressWarnings("unused") TSaldecvar node) + public void caseTSainsttantque(@SuppressWarnings("unused") TSainsttantque node) { this.index = 29; } @Override - public void caseTSalexp(@SuppressWarnings("unused") TSalexp node) + public void caseTSaldecfonc(@SuppressWarnings("unused") TSaldecfonc node) { this.index = 30; } @Override - public void caseTSalinst(@SuppressWarnings("unused") TSalinst node) + public void caseTSaldecvar(@SuppressWarnings("unused") TSaldecvar node) { this.index = 31; } @Override - public void caseTSaprog(@SuppressWarnings("unused") TSaprog node) + public void caseTSalexp(@SuppressWarnings("unused") TSalexp node) { this.index = 32; } @Override - public void caseTSavarindicee(@SuppressWarnings("unused") TSavarindicee node) + public void caseTSalinst(@SuppressWarnings("unused") TSalinst node) { this.index = 33; } @Override - public void caseTSavarsimple(@SuppressWarnings("unused") TSavarsimple node) + public void caseTSaprog(@SuppressWarnings("unused") TSaprog node) { this.index = 34; } @Override - public void caseTFaux(@SuppressWarnings("unused") TFaux node) + public void caseTSavarindicee(@SuppressWarnings("unused") TSavarindicee node) { this.index = 35; } @Override - public void caseTVrai(@SuppressWarnings("unused") TVrai node) + public void caseTSavarsimple(@SuppressWarnings("unused") TSavarsimple node) { this.index = 36; } @Override - public void caseTLire(@SuppressWarnings("unused") TLire node) + public void caseTFaux(@SuppressWarnings("unused") TFaux node) { this.index = 37; } @Override - public void caseTNull(@SuppressWarnings("unused") TNull node) + public void caseTVrai(@SuppressWarnings("unused") TVrai node) { this.index = 38; } @Override - public void caseTEntier(@SuppressWarnings("unused") TEntier node) + public void caseTLire(@SuppressWarnings("unused") TLire node) { this.index = 39; } @Override - public void caseTBool(@SuppressWarnings("unused") TBool node) + public void caseTNull(@SuppressWarnings("unused") TNull node) { this.index = 40; } @Override - public void caseTNul(@SuppressWarnings("unused") TNul node) + public void caseTEntier(@SuppressWarnings("unused") TEntier node) { this.index = 41; } @Override - public void caseTInteger(@SuppressWarnings("unused") TInteger node) + public void caseTBool(@SuppressWarnings("unused") TBool node) { this.index = 42; } @Override - public void caseTId(@SuppressWarnings("unused") TId node) + public void caseTNul(@SuppressWarnings("unused") TNul node) { this.index = 43; } @Override - public void caseEOF(@SuppressWarnings("unused") EOF node) + public void caseTInteger(@SuppressWarnings("unused") TInteger node) { this.index = 44; } + + @Override + public void caseTId(@SuppressWarnings("unused") TId node) + { + this.index = 45; + } + + @Override + public void caseEOF(@SuppressWarnings("unused") EOF node) + { + this.index = 46; + } } diff --git a/src/saParser/parser/parser.dat b/src/saParser/parser/parser.dat index ab0f40aba3c0985f37bdb0b822ad9f1dfab43c82..e64a05e0052df0e5319065a9509c0f8e150ee0be 100644 Binary files a/src/saParser/parser/parser.dat and b/src/saParser/parser/parser.dat differ