diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java index 5afc3813ecd31fd5ffbc2c88f7947bfacf384fbf..a67e3a249a904e88b784c8625455cc1aa5460f8d 100644 --- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java +++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysML.java @@ -55,20 +55,30 @@ import static java.lang.System.out; public class AvatarFromSysML { private AvatarSpecification avSpec; private StxModel stxSpec; - private ArrayList<AvatarTransition> transitionList; private HashMap<StxSignal, AvatarSignal> signalMap; private HashMap<StxBlock, AvatarBlock> blockMap; private HashMap<StxState, AvatarStateMachineElement> stateMap; + private HashMap<AvatarStateMachineElement, StateTransitions> transitionMap; private List<AvatarFromSysMLError> errors; public AvatarFromSysML(){ avSpec = null; stxSpec = null; - transitionList = new ArrayList<AvatarTransition>(); signalMap = new HashMap<StxSignal, AvatarSignal>(); blockMap = new HashMap<StxBlock, AvatarBlock>(); stateMap = new HashMap<StxState, AvatarStateMachineElement>(); + transitionMap = new HashMap<AvatarStateMachineElement, StateTransitions>(); errors = null; } + private class StateTransitions { + private AvatarBlock block; + private List<AvatarTransition> transitions; + public StateTransitions (AvatarBlock _block, List<AvatarTransition> _transitions) { + block = _block; + transitions = _transitions; + } + public AvatarBlock getBlock() { return block; } + public List<AvatarTransition> getTransitions() { return transitions; } + } private void addError(AvatarFromSysMLError _err) { errors.add(_err); } @@ -95,7 +105,6 @@ public class AvatarFromSysML { errors = stxSpec.getErrors(); TraceManager.addDev("Building Specification"); avSpec = new AvatarSpecification("FromSysMLV2_EXAMPLE_SPECIFICATION",null); - transitionList.clear(); signalMap.clear(); blockMap.clear(); stateMap.clear(); @@ -110,6 +119,13 @@ public class AvatarFromSysML { return avSpec; } + private void addState(AvatarStateMachineElement e, AvatarBlock b) { + ArrayList<AvatarTransition> l = new ArrayList<AvatarTransition>(); + transitionMap.put(e,new StateTransitions(b,l)); + } + private void addTransition(AvatarTransition t, AvatarStateMachineElement e) { + transitionMap.get(e).getTransitions().add(t); + } private AvatarBlock getBlock(StxBlock _b) { AvatarBlock b = blockMap.get(_b); if (b == null) { @@ -392,6 +408,7 @@ public class AvatarFromSysML { StxState[] states = blk.getStates(); AvatarStateMachine asm = theBlock.getStateMachine(); AvatarStateMachineElement theSourceState; + transitionMap.clear(); size = states.length; for (int i = 0; i < size; i++) { byte stateType = states[i].getType(); @@ -409,6 +426,7 @@ public class AvatarFromSysML { states[i].setType(AvatarFromSysMLSyntax.STXSTANDARDSTATE); } theSourceState = getState(states[i], theBlock); + addState(theSourceState, theBlock); asm.addElement(theSourceState); if (stateType == AvatarFromSysMLSyntax.STXRANDOMSTATE) { ((AvatarRandom) theSourceState).setOriginalValues(states[i].getMinValue(), states[i].getMaxValue()); @@ -421,6 +439,12 @@ public class AvatarFromSysML { // add transitions List<StxTransition> transitions = states[i].getTransitions(); int tsize = transitions.size(); + if (tsize > 1 && stateType != AvatarFromSysMLSyntax.STXSTANDARDSTATE) { + tsize = 1; + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, states[i].getTransitions().get(1).getLeft(), + "state " + states[i].getName() + " only accept one single outgoing transition", + states[i].getTransitions().get(1).getRleft())); + } for (int j = 0; j < tsize; j++) { StxTransition transition = transitions.get(j); if (transition == null) { @@ -434,10 +458,12 @@ public class AvatarFromSysML { " has no associated declaration" )); continue; } + if (! transition.isRequested()) { + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), + "transition has no request in state " + states[i].getName())); + continue; + } AvatarTransition theTransition = new AvatarTransition(theBlock,"", null); - transitionList.add(theTransition); - asm.addElement(theTransition); - theSourceState.addNext(theTransition); if (transition.getGuard() != null) { theTransition.setGuard( "[" + transition.getGuard().replaceAll("\\.", "__") + "]", @@ -489,8 +515,8 @@ public class AvatarFromSysML { } } if (transition.getTarget() == null) { - addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), - "something is wrong in transition : no target defined", transition.getRleft())); + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getRleft(), + "something is wrong in transition : no target defined", transition.getLeft())); continue; } if (transition.getTarget().getType() == AvatarFromSysMLSyntax.STXPRESENDSTATE || @@ -536,10 +562,11 @@ public class AvatarFromSysML { } tgtState = new AvatarStopState("StopState", null, theBlock); asm.addElement(tgtState); + continue; } else tgtState = getState(transition.getTarget(), theBlock); - theTransition.addNext(tgtState); - + byte tgtType = transition.getTarget().getType(); + Location tgtLoc = transition.getTarget().getLeft(); if (transition.getType() == AvatarFromSysMLSyntax.STXSENDTRANSITION) { if(tgtState instanceof AvatarActionOnSignal) { AvatarActionOnSignal state = (AvatarActionOnSignal)tgtState; @@ -587,6 +614,7 @@ public class AvatarFromSysML { else { addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), "sending transition should lead to a send state", transition.getRleft())); + continue; } } else if (transition.getType() == AvatarFromSysMLSyntax.STXRECEIVETRANSITION) { @@ -630,6 +658,7 @@ public class AvatarFromSysML { else { addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), "receiving transition should lead to a receive state", transition.getRleft())); + continue; } } else if (transition.getType() == AvatarFromSysMLSyntax.STXSETTIMERTRANSITION) { @@ -638,6 +667,7 @@ public class AvatarFromSysML { if (transition.getTimer() == null) { addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), "set-timer transition has no associated timer", transition.getRleft())); + continue; } state.setTimer(getTimerByName(transition.getTimer(), theBlock)); if (transition.getSendPayload() == null || transition.getSendPayload().size() != 1 @@ -652,6 +682,7 @@ public class AvatarFromSysML { else { addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), "set-timer transition should lead to a set-timer state", transition.getRleft())); + continue; } } else if (transition.getType() == AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION) { @@ -660,12 +691,14 @@ public class AvatarFromSysML { if (transition.getTimer() == null) { addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), "reset-timer transition has no associated timer", transition.getRleft())); + continue; } state.setTimer(getTimerByName(transition.getTimer(), theBlock)); } else { addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), "reset-timer transition should lead to a reset-timer state", transition.getRleft())); + continue; } } else if (transition.getType() == AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION) { @@ -674,16 +707,57 @@ public class AvatarFromSysML { if (transition.getTimer() == null) { addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), "expire-timer transition has no associated timer", transition.getRleft())); + continue; } state.setTimer(getTimerByName(transition.getTimer(), theBlock)); } else { addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), "expire-timer transition should lead to a expire-timer state", transition.getRleft())); + continue; } } - else {} - } + else if (! (tgtType == AvatarFromSysMLSyntax.STXSTOPSTATE || + tgtType == AvatarFromSysMLSyntax.STXSTANDARDSTATE || + tgtType == AvatarFromSysMLSyntax.STXRANDOMSTATE || + tgtType == AvatarFromSysMLSyntax.STXCOUNTSTATE) ) { + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, transition.getLeft(), + "transition type is not consistant with the type of its target state", tgtLoc)); + continue; + } + asm.addElement(theTransition); + theSourceState.addNext(theTransition); + addTransition(theTransition, theSourceState); + theTransition.addNext(tgtState); } + } + } + transitionMap.forEach(new CheckIncommings()); + } + } + private class CheckIncommings implements BiConsumer<AvatarStateMachineElement, StateTransitions> { + List<AvatarDataType> dataTypeList; + public CheckIncommings(){} + public void accept(AvatarStateMachineElement e, StateTransitions st) { + int s = st.getTransitions().size(); + if (s == 0 && ! (e instanceof AvatarStartState)) { + addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, "state " + e.getName() + + " of block " + st.getBlock().getName() + " is unreachable")); + } + if (s > 0 && (e instanceof AvatarStartState)) { + addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, "start state in bloc " + + st.getBlock().getName() + "has some input transition")); + for(AvatarTransition t: st.getTransitions()) { + t.getNexts().clear(); + t.addNext(new AvatarStopState("errorstate",null, st.getBlock())); + } + } + if (s > 0 && !(e instanceof AvatarStartState || e instanceof AvatarStateElement)) { + addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, "state " + e.getName() + " in bloc " + + st.getBlock().getName() + "has more than one incomming transition")); + + for(int i = 1; i < s; i++) { + st.getTransitions().get(i).getNexts().clear(); + st.getTransitions().get(i).addNext(new AvatarStopState("errorstate",null, st.getBlock())); } } } diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLLexer.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLLexer.java index e8170d70471c6a55a459f0157dc89bfdc7de1eee..c8bb37b7868f2551a9d1401d9bf1b3af53bbe173 100644 --- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLLexer.java +++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLLexer.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 17/06/2024 17:42 */ +/* The following code was generated by JFlex 1.4.3 on 18/06/2024 14:19 */ package avatartranslator.tosysmlv2; import java_cup.runtime.*; @@ -9,7 +9,7 @@ import avatartranslator.tosysmlv2.AvatarFromSysMLSyntax.*; /** * This class is a scanner generated by * <a href="http://www.jflex.de/">JFlex</a> 1.4.3 - * on 17/06/2024 17:42 from the specification file + * on 18/06/2024 14:19 from the specification file * <tt>__AvatarFromSysMLLexer__.jflex</tt> */ public class AvatarFromSysMLLexer implements java_cup.runtime.Scanner { @@ -2268,6 +2268,7 @@ public class AvatarFromSysMLLexer implements java_cup.runtime.Scanner { Location errorLocation; public void setErrorLocation(Location _errorLocation) { errorLocation = _errorLocation; } public Location getErrorLocation() { return errorLocation; } + public Location getLocation() { return new Location(yyline, yycolums); } /** diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLParser.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLParser.java index db35f98e6c2ff1504820ac8ab9374dca918daa22..99319cddcf60c9b22731342f49ab3e82572bc081 100644 --- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLParser.java +++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLParser.java @@ -38,7 +38,7 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { /** Production table. */ protected static final short _production_table[][] = unpackFromStrings(new String[] { - "\000\u013b\000\002\004\007\000\002\002\004\000\002\004" + + "\000\u013c\000\002\004\007\000\002\002\004\000\002\004" + "\006\000\002\005\003\000\002\005\004\000\002\006\003" + "\000\002\006\003\000\002\006\003\000\002\006\003\000" + "\002\006\003\000\002\006\003\000\002\006\003\000\002" + @@ -93,49 +93,49 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\114\011\000\002\114\010\000\002\114\004\000\002\165" + "\006\000\002\115\011\000\002\115\010\000\002\115\004" + "\000\002\166\006\000\002\116\007\000\002\116\005\000" + - "\002\117\005\000\002\120\003\000\002\120\005\000\002" + - "\121\013\000\002\121\003\000\002\122\003\000\002\122" + + "\002\117\005\000\002\120\004\000\002\120\006\000\002" + + "\225\002\000\002\121\014\000\002\121\004\000\002\122" + "\003\000\002\122\003\000\002\122\003\000\002\122\003" + - "\000\002\122\003\000\002\123\003\000\002\123\005\000" + - "\002\145\004\000\002\126\005\000\002\146\004\000\002" + - "\127\005\000\002\147\004\000\002\130\005\000\002\150" + - "\004\000\002\131\005\000\002\151\004\000\002\132\005" + - "\000\002\152\004\000\002\124\003\000\002\124\005\000" + - "\002\125\003\000\002\125\003\000\002\125\003\000\002" + + "\000\002\122\003\000\002\122\003\000\002\123\003\000" + + "\002\123\005\000\002\145\004\000\002\126\005\000\002" + + "\146\004\000\002\127\005\000\002\147\004\000\002\130" + + "\005\000\002\150\004\000\002\131\005\000\002\151\004" + + "\000\002\132\005\000\002\152\004\000\002\124\003\000" + + "\002\124\005\000\002\125\003\000\002\125\003\000\002" + "\125\003\000\002\125\003\000\002\125\003\000\002\125" + - "\003\000\002\133\005\000\002\134\005\000\002\224\003" + - "\000\002\135\003\000\002\135\003\000\002\137\010\000" + - "\002\140\007\000\002\140\006\000\002\140\004\000\002" + - "\140\007\000\002\140\006\000\002\170\004\000\002\141" + - "\005\000\002\142\007\000\002\143\007\000\002\144\007" + - "\000\002\202\003\000\002\202\005\000\002\171\012\000" + - "\002\171\012\000\002\172\005\000\002\210\003\000\002" + - "\211\003\000\002\211\005\000\002\173\005\000\002\136" + - "\010\000\002\174\012\000\002\174\012\000\002\175\011" + - "\000\002\176\006\000\002\176\007\000\002\176\010\000" + - "\002\176\011\000\002\203\007\000\002\203\013\000\002" + - "\177\005\000\002\177\006\000\002\177\005\000\002\177" + - "\006\000\002\212\006\000\002\213\006\000\002\205\010" + - "\000\002\205\006\000\002\200\007\000\002\200\005\000" + - "\002\201\007\000\002\201\006\000\002\003\003\000\002" + - "\207\003\000\002\206\004\000\002\206\004\000\002\214" + - "\013\000\002\215\010\000\002\215\006\000\002\216\006" + - "\000\002\216\004\000\002\217\012\000\002\204\004\000" + - "\002\204\005\000\002\220\003\000\002\220\003\000\002" + - "\220\003\000\002\221\010\000\002\222\010\000\002\223" + - "\010\000\002\223\010\000\002\225\003\000\002\225\003" + - "\000\002\225\003\000\002\226\003\000\002\230\003\000" + - "\002\230\003\000\002\231\005\000\002\231\005\000\002" + - "\231\005\000\002\231\005\000\002\231\005\000\002\231" + - "\004\000\002\231\005\000\002\231\005\000\002\231\004" + - "\000\002\231\005\000\002\231\005\000\002\231\005\000" + - "\002\231\005\000\002\231\005\000\002\231\005\000\002" + - "\231\005\000\002\231\003\000\002\231\003\000\002\232" + - "\003\000\002\232\005\000\002\227\004\000\002\227\005" + - "\000\002\233\004\000\002\240\003\000\002\240\005\000" + - "\002\235\003\000\002\234\003\000\002\234\003\000\002" + - "\234\003\000\002\236\004\000\002\236\005\000\002\237" + - "\004" }); + "\003\000\002\125\003\000\002\133\005\000\002\134\005" + + "\000\002\224\003\000\002\135\003\000\002\135\003\000" + + "\002\137\010\000\002\140\007\000\002\140\006\000\002" + + "\140\004\000\002\140\007\000\002\140\006\000\002\170" + + "\004\000\002\141\005\000\002\142\007\000\002\143\007" + + "\000\002\144\007\000\002\202\003\000\002\202\005\000" + + "\002\171\012\000\002\171\012\000\002\172\005\000\002" + + "\210\003\000\002\211\003\000\002\211\005\000\002\173" + + "\005\000\002\136\010\000\002\174\012\000\002\174\012" + + "\000\002\175\011\000\002\176\006\000\002\176\007\000" + + "\002\176\010\000\002\176\011\000\002\203\007\000\002" + + "\203\013\000\002\177\005\000\002\177\006\000\002\177" + + "\005\000\002\177\006\000\002\212\006\000\002\213\006" + + "\000\002\205\010\000\002\205\006\000\002\200\007\000" + + "\002\200\005\000\002\201\007\000\002\201\006\000\002" + + "\003\003\000\002\207\003\000\002\206\004\000\002\206" + + "\004\000\002\214\013\000\002\215\010\000\002\215\006" + + "\000\002\216\006\000\002\216\004\000\002\217\012\000" + + "\002\204\004\000\002\204\005\000\002\220\003\000\002" + + "\220\003\000\002\220\003\000\002\221\010\000\002\222" + + "\010\000\002\223\010\000\002\223\010\000\002\226\003" + + "\000\002\226\003\000\002\226\003\000\002\227\003\000" + + "\002\231\003\000\002\231\003\000\002\232\005\000\002" + + "\232\005\000\002\232\005\000\002\232\005\000\002\232" + + "\005\000\002\232\004\000\002\232\005\000\002\232\005" + + "\000\002\232\004\000\002\232\005\000\002\232\005\000" + + "\002\232\005\000\002\232\005\000\002\232\005\000\002" + + "\232\005\000\002\232\005\000\002\232\003\000\002\232" + + "\003\000\002\233\003\000\002\233\005\000\002\230\004" + + "\000\002\230\005\000\002\234\004\000\002\241\003\000" + + "\002\241\005\000\002\236\003\000\002\235\003\000\002" + + "\235\003\000\002\235\003\000\002\237\004\000\002\237" + + "\005\000\002\240\004" }); /** Access to production table. */ @Override @@ -144,7 +144,7 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { /** Parse-action table. */ protected static final short[][] _action_table = unpackFromStrings(new String[] { - "\000\u0321\000\004\260\005\001\002\000\004\002\u0323\001" + + "\000\u0323\000\004\260\005\001\002\000\004\002\u0325\001" + "\002\000\004\141\006\001\002\000\004\014\007\001\002" + "\000\014\015\030\164\020\166\040\232\010\262\046\001" + "\002\000\014\015\ufffc\164\ufffc\166\ufffc\232\ufffc\262\ufffc" + @@ -153,11 +153,11 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\262\ufff5\001\002\000\014\015\uffe2\164\uffe2\166\uffe2\232" + "\uffe2\262\uffe2\001\002\000\014\015\uffe3\164\uffe3\166\uffe3" + "\232\uffe3\262\uffe3\001\002\000\014\015\uffc3\164\uffc3\166" + - "\uffc3\232\uffc3\262\uffc3\001\002\000\014\025\u0306\026\u0309" + - "\027\u0300\031\u0307\032\u02ff\001\002\000\014\015\uffc9\164" + - "\uffc9\166\uffc9\232\uffc9\262\uffc9\001\002\000\004\201\u031c" + - "\001\002\000\014\025\u0306\026\u0309\027\u0300\031\u0307\032" + - "\u02ff\001\002\000\014\015\ufffe\164\020\166\040\232\010" + + "\uffc3\232\uffc3\262\uffc3\001\002\000\014\025\u0308\026\u030b" + + "\027\u0302\031\u0309\032\u0301\001\002\000\014\015\uffc9\164" + + "\uffc9\166\uffc9\232\uffc9\262\uffc9\001\002\000\004\201\u031e" + + "\001\002\000\014\025\u0308\026\u030b\027\u0302\031\u0309\032" + + "\u0301\001\002\000\014\015\ufffe\164\020\166\040\232\010" + "\262\046\001\002\000\014\015\uffce\164\uffce\166\uffce\232" + "\uffce\262\uffce\001\002\000\014\015\ufffa\164\ufffa\166\ufffa" + "\232\ufffa\262\ufffa\001\002\000\014\015\uffcf\164\uffcf\166" + @@ -165,12 +165,12 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\166\uffc8\232\uffc8\262\uffc8\001\002\000\014\015\uffcd\164" + "\uffcd\166\uffcd\232\uffcd\262\uffcd\001\002\000\004\002\uffff" + "\001\002\000\014\015\uffc2\164\uffc2\166\uffc2\232\uffc2\262" + - "\uffc2\001\002\000\014\025\u0306\026\u0309\027\u0300\031\u0307" + - "\032\u02ff\001\002\000\006\014\u02f3\017\u02f2\001\002\000" + + "\uffc2\001\002\000\014\025\u0308\026\u030b\027\u0302\031\u0309" + + "\032\u0301\001\002\000\006\014\u02f5\017\u02f4\001\002\000" + "\014\015\ufff7\164\ufff7\166\ufff7\232\ufff7\262\ufff7\001\002" + - "\000\006\164\275\265\u02e2\001\002\000\014\015\ufffb\164" + - "\ufffb\166\ufffb\232\ufffb\262\ufffb\001\002\000\004\014\u02db" + - "\001\002\000\004\020\u02c0\001\002\000\020\015\163\145" + + "\000\006\164\275\265\u02e4\001\002\000\014\015\ufffb\164" + + "\ufffb\166\ufffb\232\ufffb\262\ufffb\001\002\000\004\014\u02dd" + + "\001\002\000\004\020\u02c2\001\002\000\020\015\163\145" + "\172\164\156\171\162\215\153\262\200\270\155\001\002" + "\000\004\015\151\001\002\000\014\015\ufff6\164\ufff6\166" + "\ufff6\232\ufff6\262\ufff6\001\002\000\014\015\uffe4\164\uffe4" + @@ -217,23 +217,23 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\054\147\001\002\000\006\014\uffb6\017\uffb6\001\002\000" + "\006\164\uffc0\265\uffc0\001\002\000\004\002\001\001\002" + "\000\020\015\uff9f\145\uff9f\164\uff9f\171\uff9f\215\uff9f\262" + - "\uff9f\270\uff9f\001\002\000\004\307\u02bc\001\002\000\020" + + "\uff9f\270\uff9f\001\002\000\004\307\u02be\001\002\000\020" + "\015\uffa8\145\uffa8\164\uffa8\171\uffa8\215\uffa8\262\uffa8\270" + - "\uffa8\001\002\000\004\164\u02b8\001\002\000\004\141\u02b5" + + "\uffa8\001\002\000\004\164\u02ba\001\002\000\004\141\u02b7" + "\001\002\000\020\015\uffa9\145\uffa9\164\uffa9\171\uffa9\215" + - "\uffa9\262\uffa9\270\uffa9\001\002\000\006\017\u02b1\023\u02b2" + + "\uffa9\262\uffa9\270\uffa9\001\002\000\006\017\u02b3\023\u02b4" + "\001\002\000\020\015\uffac\145\uffac\164\uffac\171\uffac\215" + - "\uffac\262\uffac\270\uffac\001\002\000\004\141\u02ae\001\002" + + "\uffac\262\uffac\270\uffac\001\002\000\004\141\u02b0\001\002" + "\000\024\015\uffb2\145\uffb2\164\uffb2\166\uffb2\171\uffb2\215" + - "\uffb2\232\uffb2\262\uffb2\270\uffb2\001\002\000\004\014\u02a3" + - "\001\002\000\020\015\u02a1\145\172\164\156\171\162\215" + + "\uffb2\232\uffb2\262\uffb2\270\uffb2\001\002\000\004\014\u02a5" + + "\001\002\000\020\015\u02a3\145\172\164\156\171\162\215" + "\153\262\200\270\155\001\002\000\020\015\uffab\145\uffab" + "\164\uffab\171\uffab\215\uffab\262\uffab\270\uffab\001\002\000" + "\024\015\uffb1\145\uffb1\164\uffb1\166\uffb1\171\uffb1\215\uffb1" + "\232\uffb1\262\uffb1\270\uffb1\001\002\000\020\015\uffa0\145" + "\uffa0\164\uffa0\171\uffa0\215\uffa0\262\uffa0\270\uffa0\001\002" + "\000\020\015\uffaa\145\uffaa\164\uffaa\171\uffaa\215\uffaa\262" + - "\uffaa\270\uffaa\001\002\000\004\141\u029e\001\002\000\006" + + "\uffaa\270\uffaa\001\002\000\004\141\u02a0\001\002\000\006" + "\014\312\017\311\001\002\000\004\014\273\001\002\000" + "\020\015\uffad\145\uffad\164\uffad\171\uffad\215\uffad\262\uffad" + "\270\uffad\001\002\000\006\017\217\023\220\001\002\000" + @@ -251,96 +251,96 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\001\002\000\020\015\uff94\145\uff94\164\uff94\171\uff94\215" + "\uff94\262\uff94\270\uff94\001\002\000\020\015\uffa3\145\uffa3" + "\164\uffa3\171\uffa3\215\uffa3\262\uffa3\270\uffa3\001\002\000" + - "\016\004\222\005\225\012\226\141\223\251\231\335\221" + - "\001\002\000\016\004\222\005\225\012\226\141\223\251" + - "\231\335\221\001\002\000\044\011\ufed6\013\ufed6\016\ufed6" + - "\017\ufed6\024\ufed6\155\ufed6\255\ufed6\334\ufed6\335\ufed6\336" + - "\ufed6\337\ufed6\340\ufed6\341\ufed6\342\ufed6\343\ufed6\344\ufed6" + - "\345\ufed6\001\002\000\046\011\ufed4\013\ufed4\016\ufed4\017" + - "\ufed4\021\270\024\ufed4\155\ufed4\255\ufed4\334\ufed4\335\ufed4" + - "\336\ufed4\337\ufed4\340\ufed4\341\ufed4\342\ufed4\343\ufed4\344" + - "\ufed4\345\ufed4\001\002\000\044\011\ufee7\013\ufee7\016\ufee7" + - "\017\ufee7\024\ufee7\155\ufee7\255\ufee7\334\ufee7\335\ufee7\336" + - "\ufee7\337\ufee7\340\ufee7\341\ufee7\342\ufee7\343\ufee7\344\ufee7" + - "\345\ufee7\001\002\000\044\011\ufed5\013\ufed5\016\ufed5\017" + - "\ufed5\024\ufed5\155\ufed5\255\ufed5\334\ufed5\335\ufed5\336\ufed5" + - "\337\ufed5\340\ufed5\341\ufed5\342\ufed5\343\ufed5\344\ufed5\345" + - "\ufed5\001\002\000\016\004\222\005\225\012\226\141\223" + - "\251\231\335\221\001\002\000\036\011\240\017\265\155" + - "\234\255\246\334\241\335\233\336\235\337\242\340\236" + - "\341\237\342\245\343\243\344\247\345\244\001\002\000" + - "\044\011\ufee8\013\ufee8\016\ufee8\017\ufee8\024\ufee8\155\ufee8" + - "\255\ufee8\334\ufee8\335\ufee8\336\ufee8\337\ufee8\340\ufee8\341" + - "\ufee8\342\ufee8\343\ufee8\344\ufee8\345\ufee8\001\002\000\016" + - "\004\222\005\225\012\226\141\223\251\231\335\221\001" + - "\002\000\044\011\240\013\ufede\016\ufede\017\ufede\024\ufede" + - "\155\ufede\255\ufede\334\241\335\233\336\235\337\242\340" + - "\236\341\237\342\245\343\243\344\247\345\244\001\002" + - "\000\016\004\222\005\225\012\226\141\223\251\231\335" + - "\221\001\002\000\016\004\222\005\225\012\226\141\223" + - "\251\231\335\221\001\002\000\016\004\222\005\225\012" + + "\016\004\222\005\224\012\226\141\223\251\231\335\221" + + "\001\002\000\016\004\222\005\224\012\226\141\223\251" + + "\231\335\221\001\002\000\044\011\ufed5\013\ufed5\016\ufed5" + + "\017\ufed5\024\ufed5\155\ufed5\255\ufed5\334\ufed5\335\ufed5\336" + + "\ufed5\337\ufed5\340\ufed5\341\ufed5\342\ufed5\343\ufed5\344\ufed5" + + "\345\ufed5\001\002\000\046\011\ufed3\013\ufed3\016\ufed3\017" + + "\ufed3\021\270\024\ufed3\155\ufed3\255\ufed3\334\ufed3\335\ufed3" + + "\336\ufed3\337\ufed3\340\ufed3\341\ufed3\342\ufed3\343\ufed3\344" + + "\ufed3\345\ufed3\001\002\000\044\011\ufed4\013\ufed4\016\ufed4" + + "\017\ufed4\024\ufed4\155\ufed4\255\ufed4\334\ufed4\335\ufed4\336" + + "\ufed4\337\ufed4\340\ufed4\341\ufed4\342\ufed4\343\ufed4\344\ufed4" + + "\345\ufed4\001\002\000\044\011\ufee6\013\ufee6\016\ufee6\017" + + "\ufee6\024\ufee6\155\ufee6\255\ufee6\334\ufee6\335\ufee6\336\ufee6" + + "\337\ufee6\340\ufee6\341\ufee6\342\ufee6\343\ufee6\344\ufee6\345" + + "\ufee6\001\002\000\016\004\222\005\224\012\226\141\223" + + "\251\231\335\221\001\002\000\036\011\241\017\265\155" + + "\234\255\246\334\240\335\233\336\236\337\243\340\235" + + "\341\237\342\245\343\242\344\247\345\244\001\002\000" + + "\044\011\ufee7\013\ufee7\016\ufee7\017\ufee7\024\ufee7\155\ufee7" + + "\255\ufee7\334\ufee7\335\ufee7\336\ufee7\337\ufee7\340\ufee7\341" + + "\ufee7\342\ufee7\343\ufee7\344\ufee7\345\ufee7\001\002\000\016" + + "\004\222\005\224\012\226\141\223\251\231\335\221\001" + + "\002\000\044\011\241\013\ufedd\016\ufedd\017\ufedd\024\ufedd" + + "\155\ufedd\255\ufedd\334\240\335\233\336\236\337\243\340" + + "\235\341\237\342\245\343\242\344\247\345\244\001\002" + + "\000\016\004\222\005\224\012\226\141\223\251\231\335" + + "\221\001\002\000\016\004\222\005\224\012\226\141\223" + + "\251\231\335\221\001\002\000\016\004\222\005\224\012" + "\226\141\223\251\231\335\221\001\002\000\016\004\222" + - "\005\225\012\226\141\223\251\231\335\221\001\002\000" + - "\016\004\222\005\225\012\226\141\223\251\231\335\221" + - "\001\002\000\016\004\222\005\225\012\226\141\223\251" + - "\231\335\221\001\002\000\016\004\222\005\225\012\226" + + "\005\224\012\226\141\223\251\231\335\221\001\002\000" + + "\016\004\222\005\224\012\226\141\223\251\231\335\221" + + "\001\002\000\016\004\222\005\224\012\226\141\223\251" + + "\231\335\221\001\002\000\016\004\222\005\224\012\226" + "\141\223\251\231\335\221\001\002\000\016\004\222\005" + - "\225\012\226\141\223\251\231\335\221\001\002\000\016" + - "\004\222\005\225\012\226\141\223\251\231\335\221\001" + - "\002\000\016\004\222\005\225\012\226\141\223\251\231" + - "\335\221\001\002\000\016\004\222\005\225\012\226\141" + - "\223\251\231\335\221\001\002\000\016\004\222\005\225" + + "\224\012\226\141\223\251\231\335\221\001\002\000\016" + + "\004\222\005\224\012\226\141\223\251\231\335\221\001" + + "\002\000\016\004\222\005\224\012\226\141\223\251\231" + + "\335\221\001\002\000\016\004\222\005\224\012\226\141" + + "\223\251\231\335\221\001\002\000\016\004\222\005\224" + "\012\226\141\223\251\231\335\221\001\002\000\016\004" + - "\222\005\225\012\226\141\223\251\231\335\221\001\002" + - "\000\034\011\ufedb\013\ufedb\016\ufedb\017\ufedb\024\ufedb\155" + - "\ufedb\255\ufedb\334\241\335\233\336\235\337\242\340\236" + - "\341\ufedb\001\002\000\044\011\240\013\ufee0\016\ufee0\017" + - "\ufee0\024\ufee0\155\234\255\ufee0\334\241\335\233\336\235" + - "\337\242\340\236\341\237\342\245\343\243\344\247\345" + - "\244\001\002\000\034\011\ufedd\013\ufedd\016\ufedd\017\ufedd" + - "\024\ufedd\155\ufedd\255\ufedd\334\241\335\233\336\235\337" + - "\242\340\236\341\ufedd\001\002\000\034\011\ufeda\013\ufeda" + - "\016\ufeda\017\ufeda\024\ufeda\155\ufeda\255\ufeda\334\241\335" + - "\233\336\235\337\242\340\236\341\ufeda\001\002\000\034" + - "\011\ufedc\013\ufedc\016\ufedc\017\ufedc\024\ufedc\155\ufedc\255" + - "\ufedc\334\241\335\233\336\235\337\242\340\236\341\ufedc" + - "\001\002\000\044\011\ufee3\013\ufee3\016\ufee3\017\ufee3\024" + - "\ufee3\155\ufee3\255\ufee3\334\ufee3\335\ufee3\336\ufee3\337\ufee3" + - "\340\ufee3\341\ufee3\342\ufee3\343\ufee3\344\ufee3\345\ufee3\001" + - "\002\000\044\011\ufee6\013\ufee6\016\ufee6\017\ufee6\024\ufee6" + - "\155\ufee6\255\ufee6\334\ufee6\335\ufee6\336\235\337\242\340" + - "\236\341\ufee6\342\ufee6\343\ufee6\344\ufee6\345\ufee6\001\002" + - "\000\044\011\ufed9\013\ufed9\016\ufed9\017\ufed9\024\ufed9\155" + - "\ufed9\255\ufed9\334\241\335\233\336\235\337\242\340\236" + - "\341\ufed9\342\245\343\243\344\247\345\244\001\002\000" + - "\044\011\ufed8\013\ufed8\016\ufed8\017\ufed8\024\ufed8\155\ufed8" + - "\255\ufed8\334\241\335\233\336\235\337\242\340\236\341" + - "\ufed8\342\245\343\243\344\247\345\244\001\002\000\044" + + "\222\005\224\012\226\141\223\251\231\335\221\001\002" + + "\000\034\011\ufeda\013\ufeda\016\ufeda\017\ufeda\024\ufeda\155" + + "\ufeda\255\ufeda\334\240\335\233\336\236\337\243\340\235" + + "\341\ufeda\001\002\000\044\011\241\013\ufedf\016\ufedf\017" + + "\ufedf\024\ufedf\155\234\255\ufedf\334\240\335\233\336\236" + + "\337\243\340\235\341\237\342\245\343\242\344\247\345" + + "\244\001\002\000\034\011\ufedc\013\ufedc\016\ufedc\017\ufedc" + + "\024\ufedc\155\ufedc\255\ufedc\334\240\335\233\336\236\337" + + "\243\340\235\341\ufedc\001\002\000\034\011\ufed9\013\ufed9" + + "\016\ufed9\017\ufed9\024\ufed9\155\ufed9\255\ufed9\334\240\335" + + "\233\336\236\337\243\340\235\341\ufed9\001\002\000\044" + "\011\ufee2\013\ufee2\016\ufee2\017\ufee2\024\ufee2\155\ufee2\255" + "\ufee2\334\ufee2\335\ufee2\336\ufee2\337\ufee2\340\ufee2\341\ufee2" + - "\342\ufee2\343\ufee2\344\ufee2\345\ufee2\001\002\000\044\011" + - "\ufee4\013\ufee4\016\ufee4\017\ufee4\024\ufee4\155\ufee4\255\ufee4" + - "\334\ufee4\335\ufee4\336\ufee4\337\ufee4\340\ufee4\341\ufee4\342" + - "\ufee4\343\ufee4\344\ufee4\345\ufee4\001\002\000\044\011\240" + - "\013\ufedf\016\ufedf\017\ufedf\024\ufedf\155\ufedf\255\ufedf\334" + - "\241\335\233\336\235\337\242\340\236\341\237\342\245" + - "\343\243\344\247\345\244\001\002\000\044\011\ufee5\013" + - "\ufee5\016\ufee5\017\ufee5\024\ufee5\155\ufee5\255\ufee5\334\ufee5" + - "\335\ufee5\336\235\337\242\340\236\341\ufee5\342\ufee5\343" + - "\ufee5\344\ufee5\345\ufee5\001\002\000\020\015\uffa2\145\uffa2" + + "\342\ufee2\343\ufee2\344\ufee2\345\ufee2\001\002\000\034\011" + + "\ufedb\013\ufedb\016\ufedb\017\ufedb\024\ufedb\155\ufedb\255\ufedb" + + "\334\240\335\233\336\236\337\243\340\235\341\ufedb\001" + + "\002\000\044\011\ufed8\013\ufed8\016\ufed8\017\ufed8\024\ufed8" + + "\155\ufed8\255\ufed8\334\240\335\233\336\236\337\243\340" + + "\235\341\ufed8\342\245\343\242\344\247\345\244\001\002" + + "\000\044\011\ufee5\013\ufee5\016\ufee5\017\ufee5\024\ufee5\155" + + "\ufee5\255\ufee5\334\ufee5\335\ufee5\336\236\337\243\340\235" + + "\341\ufee5\342\ufee5\343\ufee5\344\ufee5\345\ufee5\001\002\000" + + "\044\011\ufed7\013\ufed7\016\ufed7\017\ufed7\024\ufed7\155\ufed7" + + "\255\ufed7\334\240\335\233\336\236\337\243\340\235\341" + + "\ufed7\342\245\343\242\344\247\345\244\001\002\000\044" + + "\011\ufee3\013\ufee3\016\ufee3\017\ufee3\024\ufee3\155\ufee3\255" + + "\ufee3\334\ufee3\335\ufee3\336\ufee3\337\ufee3\340\ufee3\341\ufee3" + + "\342\ufee3\343\ufee3\344\ufee3\345\ufee3\001\002\000\044\011" + + "\ufee1\013\ufee1\016\ufee1\017\ufee1\024\ufee1\155\ufee1\255\ufee1" + + "\334\ufee1\335\ufee1\336\ufee1\337\ufee1\340\ufee1\341\ufee1\342" + + "\ufee1\343\ufee1\344\ufee1\345\ufee1\001\002\000\044\011\241" + + "\013\ufede\016\ufede\017\ufede\024\ufede\155\ufede\255\ufede\334" + + "\240\335\233\336\236\337\243\340\235\341\237\342\245" + + "\343\242\344\247\345\244\001\002\000\044\011\ufee4\013" + + "\ufee4\016\ufee4\017\ufee4\024\ufee4\155\ufee4\255\ufee4\334\ufee4" + + "\335\ufee4\336\236\337\243\340\235\341\ufee4\342\ufee4\343" + + "\ufee4\344\ufee4\345\ufee4\001\002\000\020\015\uffa2\145\uffa2" + "\164\uffa2\171\uffa2\215\uffa2\262\uffa2\270\uffa2\001\002\000" + - "\036\011\240\013\267\155\234\255\246\334\241\335\233" + - "\336\235\337\242\340\236\341\237\342\245\343\243\344" + - "\247\345\244\001\002\000\044\011\ufed7\013\ufed7\016\ufed7" + - "\017\ufed7\024\ufed7\155\ufed7\255\ufed7\334\ufed7\335\ufed7\336" + - "\ufed7\337\ufed7\340\ufed7\341\ufed7\342\ufed7\343\ufed7\344\ufed7" + - "\345\ufed7\001\002\000\004\141\223\001\002\000\044\011" + - "\ufed3\013\ufed3\016\ufed3\017\ufed3\024\ufed3\155\ufed3\255\ufed3" + - "\334\ufed3\335\ufed3\336\ufed3\337\ufed3\340\ufed3\341\ufed3\342" + - "\ufed3\343\ufed3\344\ufed3\345\ufed3\001\002\000\044\011\ufee1" + - "\013\ufee1\016\ufee1\017\ufee1\024\ufee1\155\ufee1\255\ufee1\334" + - "\ufee1\335\ufee1\336\ufee1\337\ufee1\340\ufee1\341\ufee1\342\ufee1" + - "\343\ufee1\344\ufee1\345\ufee1\001\002\000\006\015\276\164" + + "\036\011\241\013\267\155\234\255\246\334\240\335\233" + + "\336\236\337\243\340\235\341\237\342\245\343\242\344" + + "\247\345\244\001\002\000\044\011\ufed6\013\ufed6\016\ufed6" + + "\017\ufed6\024\ufed6\155\ufed6\255\ufed6\334\ufed6\335\ufed6\336" + + "\ufed6\337\ufed6\340\ufed6\341\ufed6\342\ufed6\343\ufed6\344\ufed6" + + "\345\ufed6\001\002\000\004\141\223\001\002\000\044\011" + + "\ufed2\013\ufed2\016\ufed2\017\ufed2\024\ufed2\155\ufed2\255\ufed2" + + "\334\ufed2\335\ufed2\336\ufed2\337\ufed2\340\ufed2\341\ufed2\342" + + "\ufed2\343\ufed2\344\ufed2\345\ufed2\001\002\000\044\011\ufee0" + + "\013\ufee0\016\ufee0\017\ufee0\024\ufee0\155\ufee0\255\ufee0\334" + + "\ufee0\335\ufee0\336\ufee0\337\ufee0\340\ufee0\341\ufee0\342\ufee0" + + "\343\ufee0\344\ufee0\345\ufee0\001\002\000\006\015\276\164" + "\275\001\002\000\004\015\310\001\002\000\004\141\301" + "\001\002\000\020\015\uff9e\145\uff9e\164\uff9e\171\uff9e\215" + "\uff9e\262\uff9e\270\uff9e\001\002\000\010\015\uffea\164\275" + @@ -353,421 +353,424 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\171\uff9d\215\uff9d\262\uff9d\270\uff9d\001\002\000\020\015" + "\uff8e\145\uff8e\164\uff8e\171\uff8e\215\uff8e\262\uff8e\270\uff8e" + "\001\002\000\014\015\333\212\342\216\313\307\345\316" + - "\354\001\002\000\004\145\u029a\001\002\000\004\022\u0278" + + "\354\001\002\000\004\145\u029c\001\002\000\004\022\u027a" + "\001\002\000\014\015\uff83\212\uff83\216\uff83\307\uff83\316" + "\uff83\001\002\000\014\015\uff7e\212\uff7e\216\uff7e\307\uff7e" + - "\316\uff7e\001\002\000\006\017\u026f\022\u0270\001\002\000" + + "\316\uff7e\001\002\000\006\017\u0271\022\u0272\001\002\000" + "\014\015\uff86\212\uff86\216\uff86\307\uff86\316\uff86\001\002" + - "\000\004\022\u0247\001\002\000\006\017\u023e\022\u023f\001" + + "\000\004\022\u0249\001\002\000\006\017\u0240\022\u0241\001" + "\002\000\014\015\uff8a\212\uff8a\216\uff8a\307\uff8a\316\uff8a" + - "\001\002\000\006\206\u01cc\313\u01ce\001\002\000\014\015" + + "\001\002\000\006\206\u01ce\313\u01d0\001\002\000\014\015" + "\uff7f\212\uff7f\216\uff7f\307\uff7f\316\uff7f\001\002\000\014" + "\015\uff87\212\uff87\216\uff87\307\uff87\316\uff87\001\002\000" + "\014\015\uff88\212\uff88\216\uff88\307\uff88\316\uff88\001\002" + "\000\014\015\uff80\212\uff80\216\uff80\307\uff80\316\uff80\001" + - "\002\000\006\017\u01ba\022\u01bb\001\002\000\004\015\u01b9" + + "\002\000\006\017\u01bb\022\u01bc\001\002\000\004\015\u01ba" + "\001\002\000\020\015\uff8f\145\uff8f\164\uff8f\171\uff8f\215" + - "\uff8f\262\uff8f\270\uff8f\001\002\000\006\017\u01b0\022\u01b1" + + "\uff8f\262\uff8f\270\uff8f\001\002\000\006\017\u01b1\022\u01b2" + "\001\002\000\014\015\uff7d\212\uff7d\216\uff7d\307\uff7d\316" + - "\uff7d\001\002\000\006\017\u01a7\022\u01a8\001\002\000\004" + - "\022\u01a1\001\002\000\006\017\u019b\022\u019c\001\002\000" + + "\uff7d\001\002\000\006\017\u01a8\022\u01a9\001\002\000\004" + + "\022\u01a2\001\002\000\006\017\u019c\022\u019d\001\002\000" + "\014\015\uff8c\212\342\216\313\307\345\316\354\001\002" + - "\000\004\145\u0196\001\002\000\014\015\uff81\212\uff81\216" + + "\000\004\145\u0197\001\002\000\014\015\uff81\212\uff81\216" + "\uff81\307\uff81\316\uff81\001\002\000\014\015\uff84\212\uff84" + - "\216\uff84\307\uff84\316\uff84\001\002\000\004\141\u018a\001" + + "\216\uff84\307\uff84\316\uff84\001\002\000\004\141\u018b\001" + "\002\000\014\015\uff89\212\uff89\216\uff89\307\uff89\316\uff89" + "\001\002\000\014\015\uff85\212\uff85\216\uff85\307\uff85\316" + - "\uff85\001\002\000\006\017\u0181\022\u0182\001\002\000\004" + - "\022\u017b\001\002\000\006\017\365\022\366\001\002\000" + + "\uff85\001\002\000\006\017\u0182\022\u0183\001\002\000\004" + + "\022\u017c\001\002\000\006\017\365\022\366\001\002\000" + "\014\015\uff82\212\uff82\216\uff82\307\uff82\316\uff82\001\002" + "\000\004\020\355\001\002\000\004\115\356\001\002\000" + "\004\221\357\001\002\000\004\141\360\001\002\000\010" + - "\206\uff0d\230\361\313\uff0d\001\002\000\004\036\362\001" + + "\206\uff0c\230\361\313\uff0c\001\002\000\004\036\362\001" + "\002\000\004\011\363\001\002\000\004\004\364\001\002" + - "\000\006\206\uff0c\313\uff0c\001\002\000\014\015\uff53\212" + + "\000\006\206\uff0b\313\uff0b\001\002\000\014\015\uff53\212" + "\uff53\216\uff53\307\uff53\316\uff53\001\002\000\004\124\367" + "\001\002\000\004\012\370\001\002\000\006\013\373\034" + "\371\001\002\000\004\022\377\001\002\000\004\013\375" + "\001\002\000\004\017\374\001\002\000\014\015\uff54\212" + "\uff54\216\uff54\307\uff54\316\uff54\001\002\000\004\017\376" + "\001\002\000\014\015\uff55\212\uff55\216\uff55\307\uff55\316" + - "\uff55\001\002\000\022\065\u0112\066\u0106\067\u0105\070\u0109" + - "\125\u0111\126\u010f\127\u0102\230\u0107\001\002\000\010\013" + - "\uff48\016\uff48\210\uff48\001\002\000\012\036\u011e\037\u0121" + - "\040\u0118\041\u011f\001\002\000\004\012\u0178\001\002\000" + - "\012\036\u011e\037\u0121\040\u0118\041\u011f\001\002\000\006" + - "\013\uff4f\016\uff4f\001\002\000\004\012\u0175\001\002\000" + - "\010\013\uff44\016\uff44\210\uff44\001\002\000\016\004\222" + - "\005\225\012\226\141\223\251\231\335\221\001\002\000" + - "\012\036\u011e\037\u0121\040\u0118\041\u011f\001\002\000\004" + - "\012\u016a\001\002\000\010\013\uff47\016\uff47\210\uff47\001" + - "\002\000\012\036\u011e\037\u0121\040\u0118\041\u011f\001\002" + - "\000\012\036\u011e\037\u0121\040\u0118\041\u011f\001\002\000" + - "\006\013\uff4b\016\uff4b\001\002\000\010\013\uff46\016\uff46" + - "\210\uff46\001\002\000\004\012\u0165\001\002\000\010\013" + - "\uff4a\016\uff4a\210\uff4a\001\002\000\004\012\u0164\001\002" + - "\000\004\012\u0163\001\002\000\010\013\uff45\016\uff45\210" + - "\uff45\001\002\000\010\013\uff49\016\uff49\210\uff49\001\002" + - "\000\012\036\u011e\037\u0121\040\u0118\041\u011f\001\002\000" + - "\006\013\uff34\016\uff34\001\002\000\006\013\uff31\016\uff31" + - "\001\002\000\004\022\u0162\001\002\000\006\013\uff35\016" + - "\uff35\001\002\000\004\013\u0161\001\002\000\006\013\uff37" + - "\016\u015f\001\002\000\010\130\u0138\131\u0137\141\u0139\001" + - "\002\000\006\013\uff32\016\uff32\001\002\000\004\022\u0135" + - "\001\002\000\004\022\u012f\001\002\000\006\013\uff2f\016" + - "\uff2f\001\002\000\004\022\uff2c\001\002\000\006\013\uff30" + - "\016\uff30\001\002\000\004\022\u0125\001\002\000\006\013" + - "\uff33\016\uff33\001\002\000\020\004\222\005\225\012\226" + - "\073\u0127\141\223\251\231\335\221\001\002\000\006\013" + - "\uff2d\016\uff2d\001\002\000\004\012\u012a\001\002\000\006" + - "\013\uff2a\016\uff2a\001\002\000\040\011\240\013\uff2b\016" + - "\uff2b\155\234\255\246\334\241\335\233\336\235\337\242" + - "\340\236\341\237\342\245\343\243\344\247\345\244\001" + - "\002\000\016\004\222\005\225\012\226\141\223\251\231" + - "\335\221\001\002\000\036\011\240\016\u012c\155\234\255" + - "\246\334\241\335\233\336\235\337\242\340\236\341\237" + - "\342\245\343\243\344\247\345\244\001\002\000\016\004" + - "\222\005\225\012\226\141\223\251\231\335\221\001\002" + - "\000\036\011\240\013\u012e\155\234\255\246\334\241\335" + - "\233\336\235\337\242\340\236\341\237\342\245\343\243" + - "\344\247\345\244\001\002\000\006\013\uff29\016\uff29\001" + - "\002\000\004\141\u0130\001\002\000\010\013\uff22\016\uff22" + - "\021\u0131\001\002\000\010\134\u0132\135\u0134\136\u0133\001" + - "\002\000\006\013\uff21\016\uff21\001\002\000\006\013\uff1f" + - "\016\uff1f\001\002\000\006\013\uff20\016\uff20\001\002\000" + - "\004\004\u0136\001\002\000\006\013\uff2e\016\uff2e\001\002" + - "\000\004\012\u015d\001\002\000\004\012\u0159\001\002\000" + - "\010\012\u013a\013\uff26\016\uff26\001\002\000\020\004\222" + - "\005\225\012\226\013\u0141\141\u013d\251\231\335\221\001" + - "\002\000\006\013\uff1e\016\uff1e\001\002\000\020\004\222" + - "\005\225\012\226\013\u014f\141\u0149\251\231\335\221\001" + - "\002\000\046\011\ufed4\012\u0147\013\ufed4\016\ufed4\017\ufed4" + - "\021\270\155\ufed4\255\ufed4\334\ufed4\335\ufed4\336\ufed4\337" + - "\ufed4\340\ufed4\341\ufed4\342\ufed4\343\ufed4\344\ufed4\345\ufed4" + - "\001\002\000\042\011\ufee7\013\ufeea\016\ufeea\017\ufeea\155" + - "\ufee7\255\ufee7\334\ufee7\335\ufee7\336\ufee7\337\ufee7\340\ufee7" + - "\341\ufee7\342\ufee7\343\ufee7\344\ufee7\345\ufee7\001\002\000" + - "\006\013\u0145\016\u0144\001\002\000\034\011\240\155\234" + - "\255\246\334\241\335\233\336\235\337\242\340\236\341" + - "\237\342\245\343\243\344\247\345\244\001\002\000\006" + - "\013\uff27\016\uff27\001\002\000\042\011\ufee8\013\ufeeb\016" + - "\ufeeb\017\ufeeb\155\ufee8\255\ufee8\334\ufee8\335\ufee8\336\ufee8" + - "\337\ufee8\340\ufee8\341\ufee8\342\ufee8\343\ufee8\344\ufee8\345" + - "\ufee8\001\002\000\010\013\ufeec\016\ufeec\017\ufeec\001\002" + - "\000\016\004\222\005\225\012\226\141\u013d\251\231\335" + - "\221\001\002\000\006\013\uff28\016\uff28\001\002\000\006" + - "\013\uff1d\016\uff1d\001\002\000\020\004\ufed0\005\ufed0\012" + - "\ufed0\013\ufed0\141\ufed0\251\ufed0\335\ufed0\001\002\000\016" + - "\004\222\005\225\012\226\141\u0149\251\231\335\221\001" + - "\002\000\044\011\ufed4\012\u0156\013\ufed4\016\ufed4\021\270" + - "\155\ufed4\255\ufed4\334\ufed4\335\ufed4\336\ufed4\337\ufed4\340" + - "\ufed4\341\ufed4\342\ufed4\343\ufed4\344\ufed4\345\ufed4\001\002" + - "\000\004\013\u0155\001\002\000\006\013\ufecf\016\u0152\001" + - "\002\000\040\011\ufee7\013\ufecb\016\ufecb\155\ufee7\255\ufee7" + - "\334\ufee7\335\ufee7\336\ufee7\337\ufee7\340\ufee7\341\ufee7\342" + - "\ufee7\343\ufee7\344\ufee7\345\ufee7\001\002\000\004\013\u0151" + - "\001\002\000\040\011\ufee8\013\ufecc\016\ufecc\155\ufee8\255" + - "\ufee8\334\ufee8\335\ufee8\336\ufee8\337\ufee8\340\ufee8\341\ufee8" + - "\342\ufee8\343\ufee8\344\ufee8\345\ufee8\001\002\000\010\013" + - "\ufed2\016\ufed2\017\ufed2\001\002\000\006\013\ufeca\016\ufeca" + - "\001\002\000\010\013\ufed1\016\ufed1\017\ufed1\001\002\000" + - "\016\004\ufecd\005\ufecd\012\ufecd\141\ufecd\251\ufecd\335\ufecd" + - "\001\002\000\016\004\222\005\225\012\226\141\u0149\251" + - "\231\335\221\001\002\000\004\013\ufece\001\002\000\006" + - "\013\ufec9\016\ufec9\001\002\000\020\004\ufed0\005\ufed0\012" + - "\ufed0\013\ufec7\141\ufed0\251\ufed0\335\ufed0\001\002\000\004" + - "\013\u0158\001\002\000\006\013\ufec8\016\ufec8\001\002\000" + - "\016\004\222\005\225\012\226\141\223\251\231\335\221" + - "\001\002\000\036\011\240\013\ufee9\155\234\255\246\334" + - "\241\335\233\336\235\337\242\340\236\341\237\342\245" + - "\343\243\344\247\345\244\001\002\000\004\013\u015c\001" + - "\002\000\006\013\uff25\016\uff25\001\002\000\004\013\u015e" + - "\001\002\000\006\013\uff24\016\uff24\001\002\000\012\036" + - "\u011e\037\u0121\040\u0118\041\u011f\001\002\000\004\013\uff36" + - "\001\002\000\010\013\uff3b\016\uff3b\210\uff3b\001\002\000" + - "\010\130\uff23\131\uff23\141\uff23\001\002\000\012\036\uff42" + - "\037\uff42\040\uff42\041\uff42\001\002\000\012\036\uff3c\037" + - "\uff3c\040\uff3c\041\uff3c\001\002\000\012\036\uff3a\037\uff3a" + - "\040\uff3a\041\uff3a\001\002\000\004\013\u0167\001\002\000" + - "\010\013\uff39\016\uff39\210\uff39\001\002\000\004\013\u0169" + - "\001\002\000\010\013\uff3f\016\uff3f\210\uff3f\001\002\000" + - "\012\036\uff3e\037\uff3e\040\uff3e\041\uff3e\001\002\000\004" + - "\013\u016c\001\002\000\010\013\uff43\016\uff43\210\uff43\001" + - "\002\000\036\011\240\024\u016e\155\234\255\246\334\241" + - "\335\233\336\235\337\242\340\236\341\237\342\245\343" + - "\243\344\247\345\244\001\002\000\020\065\u0112\066\u0106" + - "\067\u0105\070\u0109\125\u0111\126\u010f\127\u0102\001\002\000" + - "\004\210\u0170\001\002\000\004\064\u0171\001\002\000\004" + - "\012\u0172\001\002\000\004\004\u0173\001\002\000\004\013" + - "\u0174\001\002\000\006\013\uff4c\016\uff4c\001\002\000\012" + - "\036\uff40\037\uff40\040\uff40\041\uff40\001\002\000\004\013" + - "\u0177\001\002\000\010\013\uff41\016\uff41\210\uff41\001\002" + - "\000\012\036\uff38\037\uff38\040\uff38\041\uff38\001\002\000" + - "\004\013\u017a\001\002\000\010\013\uff3d\016\uff3d\210\uff3d" + - "\001\002\000\004\113\u017c\001\002\000\004\012\u017d\001" + - "\002\000\004\034\371\001\002\000\004\013\u017f\001\002" + - "\000\004\017\u0180\001\002\000\014\015\uff61\212\uff61\216" + - "\uff61\307\uff61\316\uff61\001\002\000\014\015\uff57\212\uff57" + - "\216\uff57\307\uff57\316\uff57\001\002\000\004\123\u0183\001" + - "\002\000\004\012\u0184\001\002\000\006\013\u0186\034\371" + - "\001\002\000\004\013\u0188\001\002\000\004\017\u0187\001" + - "\002\000\014\015\uff58\212\uff58\216\uff58\307\uff58\316\uff58" + - "\001\002\000\004\017\u0189\001\002\000\014\015\uff59\212" + - "\uff59\216\uff59\307\uff59\316\uff59\001\002\000\004\020\u018b" + - "\001\002\000\026\104\u018e\107\u0190\110\u018d\111\u018f\112" + - "\u0193\113\u0195\114\u0191\122\u0192\123\u018c\124\u0194\001\002" + - "\000\006\017\uff56\022\uff56\001\002\000\006\017\uff6a\022" + - "\uff6a\001\002\000\006\017\uff75\022\uff75\001\002\000\004" + - "\022\uff66\001\002\000\006\017\uff6e\022\uff6e\001\002\000" + - "\004\022\uff5e\001\002\000\006\017\uff5a\022\uff5a\001\002" + - "\000\004\022\uff62\001\002\000\006\017\uff52\022\uff52\001" + - "\002\000\004\022\uff60\001\002\000\004\141\u0197\001\002" + - "\000\004\020\u0198\001\002\000\004\106\u0199\001\002\000" + - "\006\017\uff79\022\uff79\001\002\000\004\015\uff8b\001\002" + - "\000\014\015\uff74\212\uff74\216\uff74\307\uff74\316\uff74\001" + - "\002\000\004\105\u019d\001\002\000\004\012\u019e\001\002" + - "\000\004\013\u019f\001\002\000\004\017\u01a0\001\002\000" + - "\014\015\uff73\212\uff73\216\uff73\307\uff73\316\uff73\001\002" + - "\000\004\114\u01a2\001\002\000\004\012\u01a3\001\002\000" + - "\004\034\371\001\002\000\004\013\u01a5\001\002\000\004" + - "\017\u01a6\001\002\000\014\015\uff5f\212\uff5f\216\uff5f\307" + - "\uff5f\316\uff5f\001\002\000\014\015\uff71\212\uff71\216\uff71" + - "\307\uff71\316\uff71\001\002\000\004\107\u01a9\001\002\000" + - "\004\012\u01aa\001\002\000\006\013\u01ac\034\371\001\002" + - "\000\004\013\u01ae\001\002\000\004\017\u01ad\001\002\000" + - "\014\015\uff70\212\uff70\216\uff70\307\uff70\316\uff70\001\002" + - "\000\004\017\u01af\001\002\000\014\015\uff6f\212\uff6f\216" + - "\uff6f\307\uff6f\316\uff6f\001\002\000\014\015\uff5b\212\uff5b" + - "\216\uff5b\307\uff5b\316\uff5b\001\002\000\004\122\u01b2\001" + - "\002\000\004\012\u01b3\001\002\000\006\013\u01b5\034\371" + - "\001\002\000\004\013\u01b7\001\002\000\004\017\u01b6\001" + - "\002\000\014\015\uff5c\212\uff5c\216\uff5c\307\uff5c\316\uff5c" + - "\001\002\000\004\017\u01b8\001\002\000\014\015\uff5d\212" + - "\uff5d\216\uff5d\307\uff5d\316\uff5d\001\002\000\020\015\uff90" + - "\145\uff90\164\uff90\171\uff90\215\uff90\262\uff90\270\uff90\001" + - "\002\000\014\015\uff78\212\uff78\216\uff78\307\uff78\316\uff78" + - "\001\002\000\004\104\u01bc\001\002\000\004\012\u01bd\001" + - "\002\000\006\013\u01c0\033\u01bf\001\002\000\004\013\u01ca" + - "\001\002\000\004\022\u01c2\001\002\000\004\017\u01c1\001" + - "\002\000\014\015\uff77\212\uff77\216\uff77\307\uff77\316\uff77" + - "\001\002\000\024\012\u01c4\065\u0112\066\u0106\067\u0105\070" + - "\u0109\125\u0111\126\u010f\127\u0102\230\u0107\001\002\000\004" + - "\013\uff50\001\002\000\022\065\u0112\066\u0106\067\u0105\070" + - "\u0109\125\u0111\126\u010f\127\u0102\230\u0107\001\002\000\006" + - "\013\uff4e\016\u01c8\001\002\000\004\013\u01c7\001\002\000" + - "\004\013\uff51\001\002\000\022\065\u0112\066\u0106\067\u0105" + - "\070\u0109\125\u0111\126\u010f\127\u0102\230\u0107\001\002\000" + - "\004\013\uff4d\001\002\000\004\017\u01cb\001\002\000\014" + - "\015\uff76\212\uff76\216\uff76\307\uff76\316\uff76\001\002\000" + - "\004\145\u023a\001\002\000\004\014\u0216\001\002\000\004" + - "\141\u0211\001\002\000\004\014\u01f2\001\002\000\004\313" + - "\u01d1\001\002\000\004\141\u01d2\001\002\000\006\014\u01d4" + - "\017\u01d3\001\002\000\014\015\uff10\212\uff10\216\uff10\307" + - "\uff10\316\uff10\001\002\000\004\164\u01d6\001\002\000\004" + - "\017\u01f0\001\002\000\012\007\u01df\137\u01dc\140\u01dd\141" + - "\u01de\001\002\000\004\015\u01db\001\002\000\004\017\ufef2" + - "\001\002\000\004\017\ufef1\001\002\000\004\017\ufef3\001" + + "\uff55\001\002\000\022\065\uff4c\066\uff4c\067\uff4c\070\uff4c" + + "\125\uff4c\126\uff4c\127\uff4c\230\uff4c\001\002\000\006\013" + + "\uff4f\016\uff4f\001\002\000\022\065\u0113\066\u0107\067\u0106" + + "\070\u010a\125\u0112\126\u0110\127\u0104\230\u0108\001\002\000" + + "\010\013\uff47\016\uff47\210\uff47\001\002\000\012\036\u011e" + + "\037\u0122\040\u0119\041\u0120\001\002\000\004\012\u0179\001" + + "\002\000\012\036\u011e\037\u0122\040\u0119\041\u0120\001\002" + + "\000\004\012\u0176\001\002\000\010\013\uff43\016\uff43\210" + + "\uff43\001\002\000\016\004\222\005\224\012\226\141\223" + + "\251\231\335\221\001\002\000\012\036\u011e\037\u0122\040" + + "\u0119\041\u0120\001\002\000\004\012\u016b\001\002\000\010" + + "\013\uff46\016\uff46\210\uff46\001\002\000\012\036\u011e\037" + + "\u0122\040\u0119\041\u0120\001\002\000\012\036\u011e\037\u0122" + + "\040\u0119\041\u0120\001\002\000\010\013\uff45\016\uff45\210" + + "\uff45\001\002\000\006\013\uff4a\016\uff4a\001\002\000\004" + + "\012\u0166\001\002\000\010\013\uff49\016\uff49\210\uff49\001" + + "\002\000\004\012\u0165\001\002\000\004\012\u0164\001\002" + + "\000\010\013\uff44\016\uff44\210\uff44\001\002\000\010\013" + + "\uff48\016\uff48\210\uff48\001\002\000\012\036\u011e\037\u0122" + + "\040\u0119\041\u0120\001\002\000\006\013\uff33\016\uff33\001" + + "\002\000\006\013\uff30\016\uff30\001\002\000\004\022\u0163" + + "\001\002\000\006\013\uff34\016\uff34\001\002\000\004\013" + + "\u0162\001\002\000\006\013\uff36\016\u0160\001\002\000\010" + + "\130\u0139\131\u0138\141\u013a\001\002\000\004\022\u0136\001" + + "\002\000\006\013\uff31\016\uff31\001\002\000\004\022\u0130" + + "\001\002\000\006\013\uff2e\016\uff2e\001\002\000\004\022" + + "\uff2b\001\002\000\006\013\uff2f\016\uff2f\001\002\000\004" + + "\022\u0126\001\002\000\006\013\uff32\016\uff32\001\002\000" + + "\020\004\222\005\224\012\226\073\u0128\141\223\251\231" + + "\335\221\001\002\000\006\013\uff2c\016\uff2c\001\002\000" + + "\004\012\u012b\001\002\000\006\013\uff29\016\uff29\001\002" + + "\000\040\011\241\013\uff2a\016\uff2a\155\234\255\246\334" + + "\240\335\233\336\236\337\243\340\235\341\237\342\245" + + "\343\242\344\247\345\244\001\002\000\016\004\222\005" + + "\224\012\226\141\223\251\231\335\221\001\002\000\036" + + "\011\241\016\u012d\155\234\255\246\334\240\335\233\336" + + "\236\337\243\340\235\341\237\342\245\343\242\344\247" + + "\345\244\001\002\000\016\004\222\005\224\012\226\141" + + "\223\251\231\335\221\001\002\000\036\011\241\013\u012f" + + "\155\234\255\246\334\240\335\233\336\236\337\243\340" + + "\235\341\237\342\245\343\242\344\247\345\244\001\002" + + "\000\006\013\uff28\016\uff28\001\002\000\004\141\u0131\001" + + "\002\000\010\013\uff21\016\uff21\021\u0132\001\002\000\010" + + "\134\u0133\135\u0135\136\u0134\001\002\000\006\013\uff20\016" + + "\uff20\001\002\000\006\013\uff1e\016\uff1e\001\002\000\006" + + "\013\uff1f\016\uff1f\001\002\000\004\004\u0137\001\002\000" + + "\006\013\uff2d\016\uff2d\001\002\000\004\012\u015e\001\002" + + "\000\004\012\u015a\001\002\000\010\012\u013b\013\uff25\016" + + "\uff25\001\002\000\020\004\222\005\224\012\226\013\u0143" + + "\141\u013e\251\231\335\221\001\002\000\020\004\222\005" + + "\224\012\226\013\u014f\141\u014b\251\231\335\221\001\002" + + "\000\006\013\uff1d\016\uff1d\001\002\000\046\011\ufed3\012" + + "\u0148\013\ufed3\016\ufed3\017\ufed3\021\270\155\ufed3\255\ufed3" + + "\334\ufed3\335\ufed3\336\ufed3\337\ufed3\340\ufed3\341\ufed3\342" + + "\ufed3\343\ufed3\344\ufed3\345\ufed3\001\002\000\042\011\ufee6" + + "\013\ufee9\016\ufee9\017\ufee9\155\ufee6\255\ufee6\334\ufee6\335" + + "\ufee6\336\ufee6\337\ufee6\340\ufee6\341\ufee6\342\ufee6\343\ufee6" + + "\344\ufee6\345\ufee6\001\002\000\006\013\u0146\016\u0145\001" + + "\002\000\034\011\241\155\234\255\246\334\240\335\233" + + "\336\236\337\243\340\235\341\237\342\245\343\242\344" + + "\247\345\244\001\002\000\042\011\ufee7\013\ufeea\016\ufeea" + + "\017\ufeea\155\ufee7\255\ufee7\334\ufee7\335\ufee7\336\ufee7\337" + + "\ufee7\340\ufee7\341\ufee7\342\ufee7\343\ufee7\344\ufee7\345\ufee7" + + "\001\002\000\006\013\uff26\016\uff26\001\002\000\010\013" + + "\ufeeb\016\ufeeb\017\ufeeb\001\002\000\016\004\222\005\224" + + "\012\226\141\u013e\251\231\335\221\001\002\000\006\013" + + "\uff27\016\uff27\001\002\000\006\013\uff1c\016\uff1c\001\002" + + "\000\020\004\ufecf\005\ufecf\012\ufecf\013\ufecf\141\ufecf\251" + + "\ufecf\335\ufecf\001\002\000\016\004\222\005\224\012\226" + + "\141\u014b\251\231\335\221\001\002\000\004\013\u0157\001" + + "\002\000\044\011\ufed3\012\u0156\013\ufed3\016\ufed3\021\270" + + "\155\ufed3\255\ufed3\334\ufed3\335\ufed3\336\ufed3\337\ufed3\340" + + "\ufed3\341\ufed3\342\ufed3\343\ufed3\344\ufed3\345\ufed3\001\002" + + "\000\006\013\ufece\016\u0154\001\002\000\040\011\ufee6\013" + + "\ufeca\016\ufeca\155\ufee6\255\ufee6\334\ufee6\335\ufee6\336\ufee6" + + "\337\ufee6\340\ufee6\341\ufee6\342\ufee6\343\ufee6\344\ufee6\345" + + "\ufee6\001\002\000\004\013\u0152\001\002\000\010\013\ufed1" + + "\016\ufed1\017\ufed1\001\002\000\040\011\ufee7\013\ufecb\016" + + "\ufecb\155\ufee7\255\ufee7\334\ufee7\335\ufee7\336\ufee7\337\ufee7" + + "\340\ufee7\341\ufee7\342\ufee7\343\ufee7\344\ufee7\345\ufee7\001" + + "\002\000\006\013\ufec9\016\ufec9\001\002\000\010\013\ufed0" + + "\016\ufed0\017\ufed0\001\002\000\016\004\222\005\224\012" + + "\226\141\u014b\251\231\335\221\001\002\000\016\004\ufecc" + + "\005\ufecc\012\ufecc\141\ufecc\251\ufecc\335\ufecc\001\002\000" + + "\004\013\ufecd\001\002\000\020\004\ufecf\005\ufecf\012\ufecf" + + "\013\ufec6\141\ufecf\251\ufecf\335\ufecf\001\002\000\006\013" + + "\ufec8\016\ufec8\001\002\000\004\013\u0159\001\002\000\006" + + "\013\ufec7\016\ufec7\001\002\000\016\004\222\005\224\012" + + "\226\141\223\251\231\335\221\001\002\000\036\011\241" + + "\013\ufee8\155\234\255\246\334\240\335\233\336\236\337" + + "\243\340\235\341\237\342\245\343\242\344\247\345\244" + + "\001\002\000\004\013\u015d\001\002\000\006\013\uff24\016" + + "\uff24\001\002\000\004\013\u015f\001\002\000\006\013\uff23" + + "\016\uff23\001\002\000\012\036\u011e\037\u0122\040\u0119\041" + + "\u0120\001\002\000\004\013\uff35\001\002\000\010\013\uff3a" + + "\016\uff3a\210\uff3a\001\002\000\010\130\uff22\131\uff22\141" + + "\uff22\001\002\000\012\036\uff41\037\uff41\040\uff41\041\uff41" + + "\001\002\000\012\036\uff3b\037\uff3b\040\uff3b\041\uff3b\001" + + "\002\000\012\036\uff39\037\uff39\040\uff39\041\uff39\001\002" + + "\000\004\013\u0168\001\002\000\010\013\uff38\016\uff38\210" + + "\uff38\001\002\000\004\013\u016a\001\002\000\010\013\uff3e" + + "\016\uff3e\210\uff3e\001\002\000\012\036\uff3d\037\uff3d\040" + + "\uff3d\041\uff3d\001\002\000\004\013\u016d\001\002\000\010" + + "\013\uff42\016\uff42\210\uff42\001\002\000\036\011\241\024" + + "\u016f\155\234\255\246\334\240\335\233\336\236\337\243" + + "\340\235\341\237\342\245\343\242\344\247\345\244\001" + + "\002\000\020\065\u0113\066\u0107\067\u0106\070\u010a\125\u0112" + + "\126\u0110\127\u0104\001\002\000\004\210\u0171\001\002\000" + + "\004\064\u0172\001\002\000\004\012\u0173\001\002\000\004" + + "\004\u0174\001\002\000\004\013\u0175\001\002\000\006\013" + + "\uff4b\016\uff4b\001\002\000\012\036\uff3f\037\uff3f\040\uff3f" + + "\041\uff3f\001\002\000\004\013\u0178\001\002\000\010\013" + + "\uff40\016\uff40\210\uff40\001\002\000\012\036\uff37\037\uff37" + + "\040\uff37\041\uff37\001\002\000\004\013\u017b\001\002\000" + + "\010\013\uff3c\016\uff3c\210\uff3c\001\002\000\004\113\u017d" + + "\001\002\000\004\012\u017e\001\002\000\004\034\371\001" + + "\002\000\004\013\u0180\001\002\000\004\017\u0181\001\002" + + "\000\014\015\uff61\212\uff61\216\uff61\307\uff61\316\uff61\001" + + "\002\000\014\015\uff57\212\uff57\216\uff57\307\uff57\316\uff57" + + "\001\002\000\004\123\u0184\001\002\000\004\012\u0185\001" + + "\002\000\006\013\u0187\034\371\001\002\000\004\013\u0189" + + "\001\002\000\004\017\u0188\001\002\000\014\015\uff58\212" + + "\uff58\216\uff58\307\uff58\316\uff58\001\002\000\004\017\u018a" + + "\001\002\000\014\015\uff59\212\uff59\216\uff59\307\uff59\316" + + "\uff59\001\002\000\004\020\u018c\001\002\000\026\104\u018f" + + "\107\u0191\110\u018e\111\u0190\112\u0194\113\u0196\114\u0192\122" + + "\u0193\123\u018d\124\u0195\001\002\000\006\017\uff56\022\uff56" + + "\001\002\000\006\017\uff6a\022\uff6a\001\002\000\006\017" + + "\uff75\022\uff75\001\002\000\004\022\uff66\001\002\000\006" + + "\017\uff6e\022\uff6e\001\002\000\004\022\uff5e\001\002\000" + + "\006\017\uff5a\022\uff5a\001\002\000\004\022\uff62\001\002" + + "\000\006\017\uff52\022\uff52\001\002\000\004\022\uff60\001" + + "\002\000\004\141\u0198\001\002\000\004\020\u0199\001\002" + + "\000\004\106\u019a\001\002\000\006\017\uff79\022\uff79\001" + + "\002\000\004\015\uff8b\001\002\000\014\015\uff74\212\uff74" + + "\216\uff74\307\uff74\316\uff74\001\002\000\004\105\u019e\001" + + "\002\000\004\012\u019f\001\002\000\004\013\u01a0\001\002" + + "\000\004\017\u01a1\001\002\000\014\015\uff73\212\uff73\216" + + "\uff73\307\uff73\316\uff73\001\002\000\004\114\u01a3\001\002" + + "\000\004\012\u01a4\001\002\000\004\034\371\001\002\000" + + "\004\013\u01a6\001\002\000\004\017\u01a7\001\002\000\014" + + "\015\uff5f\212\uff5f\216\uff5f\307\uff5f\316\uff5f\001\002\000" + + "\014\015\uff71\212\uff71\216\uff71\307\uff71\316\uff71\001\002" + + "\000\004\107\u01aa\001\002\000\004\012\u01ab\001\002\000" + + "\006\013\u01ad\034\371\001\002\000\004\013\u01af\001\002" + + "\000\004\017\u01ae\001\002\000\014\015\uff70\212\uff70\216" + + "\uff70\307\uff70\316\uff70\001\002\000\004\017\u01b0\001\002" + + "\000\014\015\uff6f\212\uff6f\216\uff6f\307\uff6f\316\uff6f\001" + + "\002\000\014\015\uff5b\212\uff5b\216\uff5b\307\uff5b\316\uff5b" + + "\001\002\000\004\122\u01b3\001\002\000\004\012\u01b4\001" + + "\002\000\006\013\u01b6\034\371\001\002\000\004\013\u01b8" + + "\001\002\000\004\017\u01b7\001\002\000\014\015\uff5c\212" + + "\uff5c\216\uff5c\307\uff5c\316\uff5c\001\002\000\004\017\u01b9" + + "\001\002\000\014\015\uff5d\212\uff5d\216\uff5d\307\uff5d\316" + + "\uff5d\001\002\000\020\015\uff90\145\uff90\164\uff90\171\uff90" + + "\215\uff90\262\uff90\270\uff90\001\002\000\014\015\uff78\212" + + "\uff78\216\uff78\307\uff78\316\uff78\001\002\000\004\104\u01bd" + + "\001\002\000\004\012\u01be\001\002\000\006\013\u01c1\033" + + "\u01c0\001\002\000\004\013\u01cc\001\002\000\004\022\u01c3" + + "\001\002\000\004\017\u01c2\001\002\000\014\015\uff77\212" + + "\uff77\216\uff77\307\uff77\316\uff77\001\002\000\024\012\u01c4" + + "\065\uff4c\066\uff4c\067\uff4c\070\uff4c\125\uff4c\126\uff4c\127" + + "\uff4c\230\uff4c\001\002\000\022\065\uff4c\066\uff4c\067\uff4c" + + "\070\uff4c\125\uff4c\126\uff4c\127\uff4c\230\uff4c\001\002\000" + + "\004\013\uff50\001\002\000\004\013\u01cb\001\002\000\022" + + "\065\uff4c\066\uff4c\067\uff4c\070\uff4c\125\uff4c\126\uff4c\127" + + "\uff4c\230\uff4c\001\002\000\006\013\uff4e\016\u01c9\001\002" + + "\000\022\065\uff4c\066\uff4c\067\uff4c\070\uff4c\125\uff4c\126" + + "\uff4c\127\uff4c\230\uff4c\001\002\000\004\013\uff4d\001\002" + + "\000\004\013\uff51\001\002\000\004\017\u01cd\001\002\000" + + "\014\015\uff76\212\uff76\216\uff76\307\uff76\316\uff76\001\002" + + "\000\004\145\u023c\001\002\000\004\014\u0218\001\002\000" + + "\004\141\u0213\001\002\000\004\014\u01f4\001\002\000\004" + + "\313\u01d3\001\002\000\004\141\u01d4\001\002\000\006\014" + + "\u01d6\017\u01d5\001\002\000\014\015\uff0f\212\uff0f\216\uff0f" + + "\307\uff0f\316\uff0f\001\002\000\004\164\u01d8\001\002\000" + + "\004\017\u01f2\001\002\000\012\007\u01e1\137\u01de\140\u01df" + + "\141\u01e0\001\002\000\004\015\u01dd\001\002\000\004\017" + + "\ufef1\001\002\000\004\017\ufef0\001\002\000\004\017\ufef2" + + "\001\002\000\014\015\uff0d\212\uff0d\216\uff0d\307\uff0d\316" + + "\uff0d\001\002\000\004\020\u01ee\001\002\000\004\020\u01ea" + + "\001\002\000\004\020\u01e6\001\002\000\004\020\u01e2\001" + + "\002\000\004\076\u01e3\001\002\000\004\022\u01e4\001\002" + + "\000\004\006\u01e5\001\002\000\004\017\ufeed\001\002\000" + + "\004\076\u01e7\001\002\000\004\022\u01e8\001\002\000\004" + + "\006\u01e9\001\002\000\004\017\ufeec\001\002\000\004\076" + + "\u01eb\001\002\000\004\022\u01ec\001\002\000\004\010\u01ed" + + "\001\002\000\004\017\ufeee\001\002\000\004\076\u01ef\001" + + "\002\000\004\022\u01f0\001\002\000\004\006\u01f1\001\002" + + "\000\004\017\ufeef\001\002\000\006\015\ufef4\164\u01d8\001" + + "\002\000\004\015\ufef3\001\002\000\006\015\u01f6\221\u01f7" + + "\001\002\000\004\015\u0212\001\002\000\004\313\uff0a\001" + + "\002\000\004\045\u01f8\001\002\000\004\017\u01f9\001\002" + + "\000\004\313\u01fa\001\002\000\010\046\u01fc\145\u01ff\160" + + "\u0200\001\002\000\004\015\uff03\001\002\000\004\017\u0211" + + "\001\002\000\004\313\u020d\001\002\000\004\141\u0206\001" + + "\002\000\004\022\u0201\001\002\000\004\141\ufefd\001\002" + + "\000\004\141\u0202\001\002\000\004\012\u0148\001\002\000" + + "\004\017\u0204\001\002\000\004\313\ufeff\001\002\000\006" + + "\021\u020b\023\ufefe\001\002\000\012\013\uff17\016\uff17\021" + + "\uff17\023\uff17\001\002\000\004\023\u0208\001\002\000\016" + + "\004\222\005\224\012\226\141\u013e\251\231\335\221\001" + + "\002\000\004\017\u020a\001\002\000\004\313\uff00\001\002" + + "\000\004\141\u020c\001\002\000\012\013\uff16\016\uff16\021" + + "\uff16\023\uff16\001\002\000\010\046\u020f\145\u01ff\160\u0200" + + "\001\002\000\004\015\uff01\001\002\000\004\017\u0210\001" + + "\002\000\004\015\uff02\001\002\000\004\015\uff04\001\002" + + "\000\004\313\uff09\001\002\000\006\014\u0215\017\u0214\001" + + "\002\000\014\015\uff10\212\uff10\216\uff10\307\uff10\316\uff10" + + "\001\002\000\004\164\u01d8\001\002\000\004\015\u0217\001" + "\002\000\014\015\uff0e\212\uff0e\216\uff0e\307\uff0e\316\uff0e" + - "\001\002\000\004\020\u01ec\001\002\000\004\020\u01e8\001" + - "\002\000\004\020\u01e4\001\002\000\004\020\u01e0\001\002" + - "\000\004\076\u01e1\001\002\000\004\022\u01e2\001\002\000" + - "\004\006\u01e3\001\002\000\004\017\ufeee\001\002\000\004" + - "\076\u01e5\001\002\000\004\022\u01e6\001\002\000\004\006" + - "\u01e7\001\002\000\004\017\ufeed\001\002\000\004\076\u01e9" + - "\001\002\000\004\022\u01ea\001\002\000\004\010\u01eb\001" + - "\002\000\004\017\ufeef\001\002\000\004\076\u01ed\001\002" + - "\000\004\022\u01ee\001\002\000\004\006\u01ef\001\002\000" + - "\004\017\ufef0\001\002\000\006\015\ufef5\164\u01d6\001\002" + - "\000\004\015\ufef4\001\002\000\006\015\u01f4\221\u01f5\001" + - "\002\000\004\015\u0210\001\002\000\004\313\uff0b\001\002" + - "\000\004\045\u01f6\001\002\000\004\017\u01f7\001\002\000" + - "\004\313\u01f8\001\002\000\010\046\u01fa\145\u01fd\160\u01fe" + - "\001\002\000\004\015\uff04\001\002\000\004\017\u020f\001" + - "\002\000\004\313\u020b\001\002\000\004\141\u0204\001\002" + - "\000\004\022\u01ff\001\002\000\004\141\ufefe\001\002\000" + - "\004\141\u0200\001\002\000\004\012\u0147\001\002\000\004" + - "\017\u0202\001\002\000\004\313\uff00\001\002\000\006\021" + - "\u0209\023\ufeff\001\002\000\012\013\uff18\016\uff18\021\uff18" + - "\023\uff18\001\002\000\004\023\u0206\001\002\000\016\004" + - "\222\005\225\012\226\141\u013d\251\231\335\221\001\002" + - "\000\004\017\u0208\001\002\000\004\313\uff01\001\002\000" + - "\004\141\u020a\001\002\000\012\013\uff17\016\uff17\021\uff17" + - "\023\uff17\001\002\000\010\046\u020d\145\u01fd\160\u01fe\001" + - "\002\000\004\015\uff02\001\002\000\004\017\u020e\001\002" + - "\000\004\015\uff03\001\002\000\004\015\uff05\001\002\000" + - "\004\313\uff0a\001\002\000\006\014\u0213\017\u0212\001\002" + - "\000\014\015\uff11\212\uff11\216\uff11\307\uff11\316\uff11\001" + - "\002\000\004\164\u01d6\001\002\000\004\015\u0215\001\002" + - "\000\014\015\uff0f\212\uff0f\216\uff0f\307\uff0f\316\uff0f\001" + - "\002\000\010\015\u021a\221\u021b\241\u0217\001\002\000\004" + - "\071\u0232\001\002\000\004\221\u021b\001\002\000\004\241" + - "\u0217\001\002\000\004\313\uff09\001\002\000\004\045\u021e" + - "\001\002\000\004\015\u021d\001\002\000\004\313\uff08\001" + - "\002\000\004\017\u021f\001\002\000\004\313\u0220\001\002" + - "\000\006\046\u022e\160\u01fe\001\002\000\004\313\u0223\001" + - "\002\000\006\015\ufef9\241\ufef9\001\002\000\006\046\u0225" + - "\160\u01fe\001\002\000\006\015\ufef7\241\ufef7\001\002\000" + - "\004\017\u022d\001\002\000\004\141\u0204\001\002\000\006" + - "\021\u0209\023\u0228\001\002\000\004\071\u0229\001\002\000" + - "\004\021\u022a\001\002\000\004\141\u022b\001\002\000\004" + - "\017\u022c\001\002\000\004\313\ufef6\001\002\000\006\015" + - "\ufef8\241\ufef8\001\002\000\004\017\u022f\001\002\000\006" + - "\015\ufefa\241\ufefa\001\002\000\004\015\ufefc\001\002\000" + - "\004\015\ufefd\001\002\000\004\020\u0233\001\002\000\004" + - "\141\u0234\001\002\000\004\022\u0235\001\002\000\004\040" + - "\u0236\001\002\000\004\156\u0237\001\002\000\004\141\u0238" + - "\001\002\000\004\017\u0239\001\002\000\006\015\ufefb\221" + - "\ufefb\001\002\000\004\020\u023b\001\002\000\006\117\u023c" + - "\120\u023d\001\002\000\004\014\uff06\001\002\000\004\014" + - "\uff07\001\002\000\014\015\uff6d\212\uff6d\216\uff6d\307\uff6d" + - "\316\uff6d\001\002\000\004\110\u0240\001\002\000\004\012" + - "\u0241\001\002\000\006\013\u0243\034\371\001\002\000\004" + - "\013\u0245\001\002\000\004\017\u0244\001\002\000\014\015" + - "\uff6c\212\uff6c\216\uff6c\307\uff6c\316\uff6c\001\002\000\004" + - "\017\u0246\001\002\000\014\015\uff6b\212\uff6b\216\uff6b\307" + - "\uff6b\316\uff6b\001\002\000\004\111\u0248\001\002\000\004" + - "\012\u0249\001\002\000\006\034\371\035\u024a\001\002\000" + - "\004\022\u0257\001\002\000\004\016\u0253\001\002\000\006" + - "\013\u024e\016\u024d\001\002\000\004\034\371\001\002\000" + - "\004\017\u024f\001\002\000\014\015\uff67\212\uff67\216\uff67" + - "\307\uff67\316\uff67\001\002\000\004\013\u0251\001\002\000" + - "\004\017\u0252\001\002\000\014\015\uff69\212\uff69\216\uff69" + - "\307\uff69\316\uff69\001\002\000\004\035\u024a\001\002\000" + - "\004\013\u0255\001\002\000\004\017\u0256\001\002\000\014" + - "\015\uff68\212\uff68\216\uff68\307\uff68\316\uff68\001\002\000" + - "\004\072\u0258\001\002\000\004\012\u0259\001\002\000\006" + - "\042\u025a\043\u025d\001\002\000\004\022\u0267\001\002\000" + - "\004\016\u0264\001\002\000\004\022\u0262\001\002\000\004" + - "\022\uff19\001\002\000\004\016\u025f\001\002\000\004\042" + - "\u025a\001\002\000\004\013\u0261\001\002\000\006\013\uff1c" + - "\016\uff1c\001\002\000\004\141\u0204\001\002\000\010\013" + - "\uff1a\016\uff1a\021\u0209\001\002\000\004\043\u025d\001\002" + - "\000\004\013\u0266\001\002\000\006\013\uff1b\016\uff1b\001" + - "\002\000\004\073\u0268\001\002\000\004\012\u026a\001\002" + - "\000\006\013\uff16\016\uff16\001\002\000\016\004\222\005" + - "\225\012\226\141\223\251\231\335\221\001\002\000\036" + - "\011\240\016\u026c\155\234\255\246\334\241\335\233\336" + - "\235\337\242\340\236\341\237\342\245\343\243\344\247" + - "\345\244\001\002\000\016\004\222\005\225\012\226\141" + - "\223\251\231\335\221\001\002\000\036\011\240\013\u026e" + - "\155\234\255\246\334\241\335\233\336\235\337\242\340" + - "\236\341\237\342\245\343\243\344\247\345\244\001\002" + - "\000\006\013\uff15\016\uff15\001\002\000\014\015\uff7c\212" + - "\uff7c\216\uff7c\307\uff7c\316\uff7c\001\002\000\004\106\u0271" + - "\001\002\000\004\012\u0272\001\002\000\006\013\u0274\034" + - "\371\001\002\000\004\013\u0276\001\002\000\004\017\u0275" + - "\001\002\000\014\015\uff7b\212\uff7b\216\uff7b\307\uff7b\316" + - "\uff7b\001\002\000\004\017\u0277\001\002\000\014\015\uff7a" + - "\212\uff7a\216\uff7a\307\uff7a\316\uff7a\001\002\000\004\112" + - "\u0279\001\002\000\004\012\u027a\001\002\000\006\034\371" + - "\035\u027b\001\002\000\004\022\u0288\001\002\000\006\013" + - "\u0283\016\u0282\001\002\000\004\016\u027e\001\002\000\004" + - "\035\u027b\001\002\000\004\013\u0280\001\002\000\004\017" + - "\u0281\001\002\000\014\015\uff64\212\uff64\216\uff64\307\uff64" + - "\316\uff64\001\002\000\004\034\371\001\002\000\004\017" + - "\u0284\001\002\000\014\015\uff65\212\uff65\216\uff65\307\uff65" + - "\316\uff65\001\002\000\004\013\u0286\001\002\000\004\017" + - "\u0287\001\002\000\014\015\uff63\212\uff63\216\uff63\307\uff63" + - "\316\uff63\001\002\000\004\072\u0289\001\002\000\004\012" + - "\u028a\001\002\000\006\042\u028b\043\u025d\001\002\000\004" + - "\022\u0294\001\002\000\004\016\u0291\001\002\000\004\016" + - "\u028e\001\002\000\004\043\u025d\001\002\000\004\013\u0290" + - "\001\002\000\006\013\uff13\016\uff13\001\002\000\004\042" + - "\u028b\001\002\000\004\013\u0293\001\002\000\006\013\uff14" + - "\016\uff14\001\002\000\004\141\u0295\001\002\000\004\021" + - "\u0296\001\002\000\004\044\u0297\001\002\000\004\012\u0298" + - "\001\002\000\004\013\u0299\001\002\000\006\013\uff12\016" + - "\uff12\001\002\000\004\141\u029b\001\002\000\004\020\u029c" + - "\001\002\000\004\105\u029d\001\002\000\006\017\uff72\022" + - "\uff72\001\002\000\004\020\u029f\001\002\000\004\102\u02a0" + - "\001\002\000\004\014\uff9c\001\002\000\024\015\uffaf\145" + - "\uffaf\164\uffaf\166\uffaf\171\uffaf\215\uffaf\232\uffaf\262\uffaf" + - "\270\uffaf\001\002\000\024\015\uffae\145\uffae\164\uffae\166" + - "\uffae\171\uffae\215\uffae\232\uffae\262\uffae\270\uffae\001\002" + - "\000\010\015\u02a6\164\275\301\u02a5\001\002\000\004\015" + - "\u02ad\001\002\000\004\020\u02aa\001\002\000\020\015\uff9b" + - "\145\uff9b\164\uff9b\171\uff9b\215\uff9b\262\uff9b\270\uff9b\001" + - "\002\000\010\015\uff98\164\275\301\u02a5\001\002\000\010" + - "\015\uff96\164\uff96\301\uff96\001\002\000\004\015\uff97\001" + - "\002\000\010\074\306\075\305\141\303\001\002\000\004" + - "\017\u02ac\001\002\000\010\015\uff95\164\uff95\301\uff95\001" + - "\002\000\020\015\uff9a\145\uff9a\164\uff9a\171\uff9a\215\uff9a" + - "\262\uff9a\270\uff9a\001\002\000\004\020\u02af\001\002\000" + - "\004\103\u02b0\001\002\000\004\014\uff99\001\002\000\020" + - "\015\uffa6\145\uffa6\164\uffa6\171\uffa6\215\uffa6\262\uffa6\270" + - "\uffa6\001\002\000\016\004\222\005\225\012\226\141\223" + - "\251\231\335\221\001\002\000\036\011\240\017\u02b4\155" + - "\234\255\246\334\241\335\233\336\235\337\242\340\236" + - "\341\237\342\245\343\243\344\247\345\244\001\002\000" + - "\020\015\uffa5\145\uffa5\164\uffa5\171\uffa5\215\uffa5\262\uffa5" + - "\270\uffa5\001\002\000\004\020\u02b6\001\002\000\010\074" + - "\306\075\305\141\303\001\002\000\006\017\uffa4\023\uffa4" + - "\001\002\000\004\141\u02b9\001\002\000\004\020\u02ba\001" + - "\002\000\010\074\306\075\305\141\303\001\002\000\006" + - "\017\uffa1\023\uffa1\001\002\000\004\121\u02bd\001\002\000" + - "\004\020\u02be\001\002\000\004\116\u02bf\001\002\000\006" + - "\014\uff8d\017\uff8d\001\002\000\006\062\u02c2\063\u02c1\001" + - "\002\000\004\165\u02cf\001\002\000\004\165\u02c3\001\002" + - "\000\004\141\u02c4\001\002\000\006\021\u02c5\022\u02c6\001" + - "\002\000\004\141\u02cb\001\002\000\004\141\u02c7\001\002" + - "\000\004\021\u02c8\001\002\000\004\141\u02c9\001\002\000" + - "\004\017\u02ca\001\002\000\014\015\uffc6\164\uffc6\166\uffc6" + - "\232\uffc6\262\uffc6\001\002\000\004\022\u02cc\001\002\000" + - "\004\141\u02cd\001\002\000\004\017\u02ce\001\002\000\014" + - "\015\uffc7\164\uffc7\166\uffc7\232\uffc7\262\uffc7\001\002\000" + - "\004\141\u02d0\001\002\000\006\021\u02d1\022\u02d2\001\002" + - "\000\004\141\u02d7\001\002\000\004\141\u02d3\001\002\000" + - "\004\021\u02d4\001\002\000\004\141\u02d5\001\002\000\004" + - "\017\u02d6\001\002\000\014\015\uffc4\164\uffc4\166\uffc4\232" + - "\uffc4\262\uffc4\001\002\000\004\022\u02d8\001\002\000\004" + - "\141\u02d9\001\002\000\004\017\u02da\001\002\000\014\015" + - "\uffc5\164\uffc5\166\uffc5\232\uffc5\262\uffc5\001\002\000\006" + - "\015\u02dd\164\275\001\002\000\004\015\u02de\001\002\000" + - "\014\015\uffec\164\uffec\166\uffec\232\uffec\262\uffec\001\002" + - "\000\014\015\uffed\164\uffed\166\uffed\232\uffed\262\uffed\001" + - "\002\000\004\265\u02e2\001\002\000\014\015\uffc1\164\uffc1" + - "\166\uffc1\232\uffc1\262\uffc1\001\002\000\006\015\u02ee\164" + - "\275\001\002\000\004\262\u02e3\001\002\000\004\041\u02e4" + - "\001\002\000\006\020\u02e6\022\u02e5\001\002\000\004\141" + - "\u02eb\001\002\000\004\055\u02e7\001\002\000\004\022\u02e8" + - "\001\002\000\004\141\u02e9\001\002\000\004\017\u02ea\001" + - "\002\000\006\015\uffbc\164\uffbc\001\002\000\004\017\u02ec" + - "\001\002\000\006\015\uffbb\164\uffbb\001\002\000\004\015" + - "\u02ef\001\002\000\014\015\uffbf\164\uffbf\166\uffbf\232\uffbf" + - "\262\uffbf\001\002\000\014\015\uffbe\164\uffbe\166\uffbe\232" + - "\uffbe\262\uffbe\001\002\000\004\015\u02f1\001\002\000\014" + - "\015\uffbd\164\uffbd\166\uffbd\232\uffbd\262\uffbd\001\002\000" + - "\014\015\uffba\164\uffba\166\uffba\232\uffba\262\uffba\001\002" + - "\000\006\015\u02f6\164\u02f4\001\002\000\004\141\u02fa\001" + - "\002\000\014\015\uffb8\164\uffb8\166\uffb8\232\uffb8\262\uffb8" + - "\001\002\000\014\015\uffb9\164\uffb9\166\uffb9\232\uffb9\262" + - "\uffb9\001\002\000\006\015\u02f9\164\u02f4\001\002\000\014" + - "\015\uffb4\164\uffb4\166\uffb4\232\uffb4\262\uffb4\001\002\000" + - "\014\015\uffb5\164\uffb5\166\uffb5\232\uffb5\262\uffb5\001\002" + - "\000\004\271\u02fb\001\002\000\004\141\u02fc\001\002\000" + - "\004\017\u02fd\001\002\000\006\015\uffb3\164\uffb3\001\002" + - "\000\006\013\uffd7\016\uffd7\001\002\000\004\022\u0316\001" + - "\002\000\004\022\u0314\001\002\000\004\013\u0312\001\002" + - "\000\006\013\uffd8\016\uffd8\001\002\000\006\013\uffd5\016" + - "\uffd5\001\002\000\006\013\uffdb\016\u0310\001\002\000\006" + - "\013\uffd6\016\uffd6\001\002\000\004\022\u030e\001\002\000" + - "\004\022\u030c\001\002\000\006\013\uffd9\016\uffd9\001\002" + - "\000\004\022\u030a\001\002\000\004\004\u030b\001\002\000" + - "\006\013\uffd1\016\uffd1\001\002\000\004\141\u030d\001\002" + - "\000\006\013\uffd4\016\uffd4\001\002\000\004\005\u030f\001" + - "\002\000\006\013\uffd0\016\uffd0\001\002\000\014\025\u0306" + - "\026\u0309\027\u0300\031\u0307\032\u02ff\001\002\000\004\013" + - "\uffda\001\002\000\004\017\u0313\001\002\000\014\015\uffe1" + - "\164\uffe1\166\uffe1\232\uffe1\262\uffe1\001\002\000\004\005" + - "\u0315\001\002\000\006\013\uffd2\016\uffd2\001\002\000\004" + - "\141\u0317\001\002\000\006\013\uffd3\016\uffd3\001\002\000" + - "\004\015\ufffd\001\002\000\004\013\u031a\001\002\000\004" + - "\017\u031b\001\002\000\014\015\uffdd\164\uffdd\166\uffdd\232" + - "\uffdd\262\uffdd\001\002\000\004\141\u031d\001\002\000\006" + - "\305\136\333\140\001\002\000\004\100\u031f\001\002\000" + - "\004\014\uffeb\001\002\000\004\013\u0321\001\002\000\004" + - "\017\u0322\001\002\000\014\015\uffdf\164\uffdf\166\uffdf\232" + - "\uffdf\262\uffdf\001\002\000\004\002\000\001\002" }); + "\001\002\000\010\015\u021c\221\u021e\241\u0219\001\002\000" + + "\004\071\u0234\001\002\000\004\221\u021e\001\002\000\004" + + "\241\u0219\001\002\000\004\313\uff08\001\002\000\004\015" + + "\u0231\001\002\000\004\045\u021f\001\002\000\004\017\u0220" + + "\001\002\000\004\313\u0221\001\002\000\006\046\u022f\160" + + "\u0200\001\002\000\004\313\u0224\001\002\000\006\015\ufef8" + + "\241\ufef8\001\002\000\006\046\u0226\160\u0200\001\002\000" + + "\006\015\ufef6\241\ufef6\001\002\000\004\017\u022e\001\002" + + "\000\004\141\u0206\001\002\000\006\021\u020b\023\u0229\001" + + "\002\000\004\071\u022a\001\002\000\004\021\u022b\001\002" + + "\000\004\141\u022c\001\002\000\004\017\u022d\001\002\000" + + "\004\313\ufef5\001\002\000\006\015\ufef7\241\ufef7\001\002" + + "\000\004\017\u0230\001\002\000\006\015\ufef9\241\ufef9\001" + + "\002\000\004\313\uff07\001\002\000\004\015\ufefb\001\002" + + "\000\004\015\ufefc\001\002\000\004\020\u0235\001\002\000" + + "\004\141\u0236\001\002\000\004\022\u0237\001\002\000\004" + + "\040\u0238\001\002\000\004\156\u0239\001\002\000\004\141" + + "\u023a\001\002\000\004\017\u023b\001\002\000\006\015\ufefa" + + "\221\ufefa\001\002\000\004\020\u023d\001\002\000\006\117" + + "\u023e\120\u023f\001\002\000\004\014\uff05\001\002\000\004" + + "\014\uff06\001\002\000\014\015\uff6d\212\uff6d\216\uff6d\307" + + "\uff6d\316\uff6d\001\002\000\004\110\u0242\001\002\000\004" + + "\012\u0243\001\002\000\006\013\u0245\034\371\001\002\000" + + "\004\013\u0247\001\002\000\004\017\u0246\001\002\000\014" + + "\015\uff6c\212\uff6c\216\uff6c\307\uff6c\316\uff6c\001\002\000" + + "\004\017\u0248\001\002\000\014\015\uff6b\212\uff6b\216\uff6b" + + "\307\uff6b\316\uff6b\001\002\000\004\111\u024a\001\002\000" + + "\004\012\u024b\001\002\000\006\034\371\035\u024c\001\002" + + "\000\004\022\u0259\001\002\000\004\016\u0255\001\002\000" + + "\006\013\u0250\016\u024f\001\002\000\004\034\371\001\002" + + "\000\004\017\u0251\001\002\000\014\015\uff67\212\uff67\216" + + "\uff67\307\uff67\316\uff67\001\002\000\004\013\u0253\001\002" + + "\000\004\017\u0254\001\002\000\014\015\uff69\212\uff69\216" + + "\uff69\307\uff69\316\uff69\001\002\000\004\035\u024c\001\002" + + "\000\004\013\u0257\001\002\000\004\017\u0258\001\002\000" + + "\014\015\uff68\212\uff68\216\uff68\307\uff68\316\uff68\001\002" + + "\000\004\072\u025a\001\002\000\004\012\u025b\001\002\000" + + "\006\042\u025c\043\u0260\001\002\000\004\022\u0269\001\002" + + "\000\004\016\u0266\001\002\000\004\016\u0263\001\002\000" + + "\004\022\u0261\001\002\000\004\022\uff18\001\002\000\004" + + "\141\u0206\001\002\000\010\013\uff19\016\uff19\021\u020b\001" + + "\002\000\004\042\u025c\001\002\000\004\013\u0265\001\002" + + "\000\006\013\uff1b\016\uff1b\001\002\000\004\043\u0260\001" + + "\002\000\004\013\u0268\001\002\000\006\013\uff1a\016\uff1a" + + "\001\002\000\004\073\u026a\001\002\000\004\012\u026c\001" + + "\002\000\006\013\uff15\016\uff15\001\002\000\016\004\222" + + "\005\224\012\226\141\223\251\231\335\221\001\002\000" + + "\036\011\241\016\u026e\155\234\255\246\334\240\335\233" + + "\336\236\337\243\340\235\341\237\342\245\343\242\344" + + "\247\345\244\001\002\000\016\004\222\005\224\012\226" + + "\141\223\251\231\335\221\001\002\000\036\011\241\013" + + "\u0270\155\234\255\246\334\240\335\233\336\236\337\243" + + "\340\235\341\237\342\245\343\242\344\247\345\244\001" + + "\002\000\006\013\uff14\016\uff14\001\002\000\014\015\uff7c" + + "\212\uff7c\216\uff7c\307\uff7c\316\uff7c\001\002\000\004\106" + + "\u0273\001\002\000\004\012\u0274\001\002\000\006\013\u0276" + + "\034\371\001\002\000\004\013\u0278\001\002\000\004\017" + + "\u0277\001\002\000\014\015\uff7b\212\uff7b\216\uff7b\307\uff7b" + + "\316\uff7b\001\002\000\004\017\u0279\001\002\000\014\015" + + "\uff7a\212\uff7a\216\uff7a\307\uff7a\316\uff7a\001\002\000\004" + + "\112\u027b\001\002\000\004\012\u027c\001\002\000\006\034" + + "\371\035\u027d\001\002\000\004\022\u028a\001\002\000\006" + + "\013\u0285\016\u0284\001\002\000\004\016\u0280\001\002\000" + + "\004\035\u027d\001\002\000\004\013\u0282\001\002\000\004" + + "\017\u0283\001\002\000\014\015\uff64\212\uff64\216\uff64\307" + + "\uff64\316\uff64\001\002\000\004\034\371\001\002\000\004" + + "\017\u0286\001\002\000\014\015\uff65\212\uff65\216\uff65\307" + + "\uff65\316\uff65\001\002\000\004\013\u0288\001\002\000\004" + + "\017\u0289\001\002\000\014\015\uff63\212\uff63\216\uff63\307" + + "\uff63\316\uff63\001\002\000\004\072\u028b\001\002\000\004" + + "\012\u028c\001\002\000\006\042\u028d\043\u0260\001\002\000" + + "\004\022\u0296\001\002\000\004\016\u0293\001\002\000\004" + + "\016\u0290\001\002\000\004\042\u028d\001\002\000\004\013" + + "\u0292\001\002\000\006\013\uff13\016\uff13\001\002\000\004" + + "\043\u0260\001\002\000\004\013\u0295\001\002\000\006\013" + + "\uff12\016\uff12\001\002\000\004\141\u0297\001\002\000\004" + + "\021\u0298\001\002\000\004\044\u0299\001\002\000\004\012" + + "\u029a\001\002\000\004\013\u029b\001\002\000\006\013\uff11" + + "\016\uff11\001\002\000\004\141\u029d\001\002\000\004\020" + + "\u029e\001\002\000\004\105\u029f\001\002\000\006\017\uff72" + + "\022\uff72\001\002\000\004\020\u02a1\001\002\000\004\102" + + "\u02a2\001\002\000\004\014\uff9c\001\002\000\024\015\uffaf" + + "\145\uffaf\164\uffaf\166\uffaf\171\uffaf\215\uffaf\232\uffaf\262" + + "\uffaf\270\uffaf\001\002\000\024\015\uffae\145\uffae\164\uffae" + + "\166\uffae\171\uffae\215\uffae\232\uffae\262\uffae\270\uffae\001" + + "\002\000\010\015\u02a8\164\275\301\u02a7\001\002\000\004" + + "\015\u02af\001\002\000\004\020\u02ac\001\002\000\020\015" + + "\uff9b\145\uff9b\164\uff9b\171\uff9b\215\uff9b\262\uff9b\270\uff9b" + + "\001\002\000\010\015\uff98\164\275\301\u02a7\001\002\000" + + "\010\015\uff96\164\uff96\301\uff96\001\002\000\004\015\uff97" + + "\001\002\000\010\074\306\075\305\141\303\001\002\000" + + "\004\017\u02ae\001\002\000\010\015\uff95\164\uff95\301\uff95" + + "\001\002\000\020\015\uff9a\145\uff9a\164\uff9a\171\uff9a\215" + + "\uff9a\262\uff9a\270\uff9a\001\002\000\004\020\u02b1\001\002" + + "\000\004\103\u02b2\001\002\000\004\014\uff99\001\002\000" + + "\020\015\uffa6\145\uffa6\164\uffa6\171\uffa6\215\uffa6\262\uffa6" + + "\270\uffa6\001\002\000\016\004\222\005\224\012\226\141" + + "\223\251\231\335\221\001\002\000\036\011\241\017\u02b6" + + "\155\234\255\246\334\240\335\233\336\236\337\243\340" + + "\235\341\237\342\245\343\242\344\247\345\244\001\002" + + "\000\020\015\uffa5\145\uffa5\164\uffa5\171\uffa5\215\uffa5\262" + + "\uffa5\270\uffa5\001\002\000\004\020\u02b8\001\002\000\010" + + "\074\306\075\305\141\303\001\002\000\006\017\uffa4\023" + + "\uffa4\001\002\000\004\141\u02bb\001\002\000\004\020\u02bc" + + "\001\002\000\010\074\306\075\305\141\303\001\002\000" + + "\006\017\uffa1\023\uffa1\001\002\000\004\121\u02bf\001\002" + + "\000\004\020\u02c0\001\002\000\004\116\u02c1\001\002\000" + + "\006\014\uff8d\017\uff8d\001\002\000\006\062\u02c4\063\u02c3" + + "\001\002\000\004\165\u02d1\001\002\000\004\165\u02c5\001" + + "\002\000\004\141\u02c6\001\002\000\006\021\u02c7\022\u02c8" + + "\001\002\000\004\141\u02cd\001\002\000\004\141\u02c9\001" + + "\002\000\004\021\u02ca\001\002\000\004\141\u02cb\001\002" + + "\000\004\017\u02cc\001\002\000\014\015\uffc6\164\uffc6\166" + + "\uffc6\232\uffc6\262\uffc6\001\002\000\004\022\u02ce\001\002" + + "\000\004\141\u02cf\001\002\000\004\017\u02d0\001\002\000" + + "\014\015\uffc7\164\uffc7\166\uffc7\232\uffc7\262\uffc7\001\002" + + "\000\004\141\u02d2\001\002\000\006\021\u02d3\022\u02d4\001" + + "\002\000\004\141\u02d9\001\002\000\004\141\u02d5\001\002" + + "\000\004\021\u02d6\001\002\000\004\141\u02d7\001\002\000" + + "\004\017\u02d8\001\002\000\014\015\uffc4\164\uffc4\166\uffc4" + + "\232\uffc4\262\uffc4\001\002\000\004\022\u02da\001\002\000" + + "\004\141\u02db\001\002\000\004\017\u02dc\001\002\000\014" + + "\015\uffc5\164\uffc5\166\uffc5\232\uffc5\262\uffc5\001\002\000" + + "\006\015\u02df\164\275\001\002\000\004\015\u02e0\001\002" + + "\000\014\015\uffec\164\uffec\166\uffec\232\uffec\262\uffec\001" + + "\002\000\014\015\uffed\164\uffed\166\uffed\232\uffed\262\uffed" + + "\001\002\000\004\265\u02e4\001\002\000\014\015\uffc1\164" + + "\uffc1\166\uffc1\232\uffc1\262\uffc1\001\002\000\006\015\u02f0" + + "\164\275\001\002\000\004\262\u02e5\001\002\000\004\041" + + "\u02e6\001\002\000\006\020\u02e8\022\u02e7\001\002\000\004" + + "\141\u02ed\001\002\000\004\055\u02e9\001\002\000\004\022" + + "\u02ea\001\002\000\004\141\u02eb\001\002\000\004\017\u02ec" + + "\001\002\000\006\015\uffbc\164\uffbc\001\002\000\004\017" + + "\u02ee\001\002\000\006\015\uffbb\164\uffbb\001\002\000\004" + + "\015\u02f1\001\002\000\014\015\uffbf\164\uffbf\166\uffbf\232" + + "\uffbf\262\uffbf\001\002\000\014\015\uffbe\164\uffbe\166\uffbe" + + "\232\uffbe\262\uffbe\001\002\000\004\015\u02f3\001\002\000" + + "\014\015\uffbd\164\uffbd\166\uffbd\232\uffbd\262\uffbd\001\002" + + "\000\014\015\uffba\164\uffba\166\uffba\232\uffba\262\uffba\001" + + "\002\000\006\015\u02f8\164\u02f6\001\002\000\004\141\u02fc" + + "\001\002\000\014\015\uffb8\164\uffb8\166\uffb8\232\uffb8\262" + + "\uffb8\001\002\000\014\015\uffb9\164\uffb9\166\uffb9\232\uffb9" + + "\262\uffb9\001\002\000\006\015\u02fb\164\u02f6\001\002\000" + + "\014\015\uffb4\164\uffb4\166\uffb4\232\uffb4\262\uffb4\001\002" + + "\000\014\015\uffb5\164\uffb5\166\uffb5\232\uffb5\262\uffb5\001" + + "\002\000\004\271\u02fd\001\002\000\004\141\u02fe\001\002" + + "\000\004\017\u02ff\001\002\000\006\015\uffb3\164\uffb3\001" + + "\002\000\006\013\uffd7\016\uffd7\001\002\000\004\022\u0318" + + "\001\002\000\004\022\u0316\001\002\000\004\013\u0314\001" + + "\002\000\006\013\uffd8\016\uffd8\001\002\000\006\013\uffd5" + + "\016\uffd5\001\002\000\006\013\uffdb\016\u0312\001\002\000" + + "\006\013\uffd6\016\uffd6\001\002\000\004\022\u0310\001\002" + + "\000\004\022\u030e\001\002\000\006\013\uffd9\016\uffd9\001" + + "\002\000\004\022\u030c\001\002\000\004\004\u030d\001\002" + + "\000\006\013\uffd1\016\uffd1\001\002\000\004\141\u030f\001" + + "\002\000\006\013\uffd4\016\uffd4\001\002\000\004\005\u0311" + + "\001\002\000\006\013\uffd0\016\uffd0\001\002\000\014\025" + + "\u0308\026\u030b\027\u0302\031\u0309\032\u0301\001\002\000\004" + + "\013\uffda\001\002\000\004\017\u0315\001\002\000\014\015" + + "\uffe1\164\uffe1\166\uffe1\232\uffe1\262\uffe1\001\002\000\004" + + "\005\u0317\001\002\000\006\013\uffd2\016\uffd2\001\002\000" + + "\004\141\u0319\001\002\000\006\013\uffd3\016\uffd3\001\002" + + "\000\004\015\ufffd\001\002\000\004\013\u031c\001\002\000" + + "\004\017\u031d\001\002\000\014\015\uffdd\164\uffdd\166\uffdd" + + "\232\uffdd\262\uffdd\001\002\000\004\141\u031f\001\002\000" + + "\006\305\136\333\140\001\002\000\004\100\u0321\001\002" + + "\000\004\014\uffeb\001\002\000\004\013\u0323\001\002\000" + + "\004\017\u0324\001\002\000\014\015\uffdf\164\uffdf\166\uffdf" + + "\232\uffdf\262\uffdf\001\002\000\004\002\000\001\002" }); /** Access to parse-action table. */ @Override @@ -776,27 +779,27 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { /** <code>reduce_goto</code> table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { - "\000\u0321\000\004\004\003\001\001\000\002\001\001\000" + + "\000\u0323\000\004\004\003\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\066\005\041\006\021" + "\011\011\013\035\014\036\017\023\020\043\021\013\022" + "\012\032\031\033\015\034\020\035\044\036\024\037\022" + "\040\026\041\010\042\016\043\025\044\033\045\014\046" + "\030\053\034\054\032\055\042\056\040\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\020\023\u031f" + - "\024\u0303\025\u0307\026\u0301\027\u02fd\030\u0304\031\u0302\001" + - "\001\000\002\001\001\000\002\001\001\000\020\023\u0318" + - "\024\u0303\025\u0307\026\u0301\027\u02fd\030\u0304\031\u0302\001" + - "\001\000\066\005\u0317\006\021\011\011\013\035\014\036" + + "\001\000\002\001\001\000\002\001\001\000\020\023\u0321" + + "\024\u0305\025\u0309\026\u0303\027\u02ff\030\u0306\031\u0304\001" + + "\001\000\002\001\001\000\002\001\001\000\020\023\u031a" + + "\024\u0305\025\u0309\026\u0303\027\u02ff\030\u0306\031\u0304\001" + + "\001\000\066\005\u0319\006\021\011\011\013\035\014\036" + "\017\023\020\043\021\013\022\012\032\031\033\015\034" + "\020\035\044\036\024\037\022\040\026\041\010\042\016" + "\043\025\044\033\045\014\046\030\053\034\054\032\055" + "\042\056\040\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\020\023\u0300\024\u0303" + - "\025\u0307\026\u0301\027\u02fd\030\u0304\031\u0302\001\001\000" + - "\002\001\001\000\002\001\001\000\012\015\u02de\016\276" + - "\047\u02df\050\u02e0\001\001\000\002\001\001\000\002\001" + + "\002\001\001\000\002\001\001\000\020\023\u0302\024\u0305" + + "\025\u0309\026\u0303\027\u02ff\030\u0306\031\u0304\001\001\000" + + "\002\001\001\000\002\001\001\000\012\015\u02e0\016\276" + + "\047\u02e1\050\u02e2\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\044\055\176\056\040\057\166" + "\060\164\061\174\062\160\063\157\064\165\065\167\066" + "\151\071\170\072\156\073\153\076\173\077\163\100\175" + @@ -827,7 +830,7 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\044\055\176\056" + - "\040\057\u02a1\060\164\061\174\062\160\063\157\064\165" + + "\040\057\u02a3\060\164\061\174\062\160\063\157\064\165" + "\065\167\066\151\071\170\072\156\073\153\076\173\077" + "\163\100\175\167\172\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + @@ -837,27 +840,27 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\010\230\226\231\227" + - "\232\223\001\001\000\010\230\271\231\227\232\223\001" + + "\002\001\001\000\002\001\001\000\010\231\226\232\227" + + "\233\224\001\001\000\010\231\271\232\227\233\224\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\010\230\265\231\227\232\223\001" + - "\001\000\002\001\001\000\002\001\001\000\010\230\231" + - "\231\227\232\223\001\001\000\002\001\001\000\010\230" + - "\263\231\227\232\223\001\001\000\010\230\262\231\227" + - "\232\223\001\001\000\010\230\261\231\227\232\223\001" + - "\001\000\010\230\260\231\227\232\223\001\001\000\010" + - "\230\257\231\227\232\223\001\001\000\010\230\256\231" + - "\227\232\223\001\001\000\010\230\255\231\227\232\223" + - "\001\001\000\010\230\254\231\227\232\223\001\001\000" + - "\010\230\253\231\227\232\223\001\001\000\010\230\252" + - "\231\227\232\223\001\001\000\010\230\251\231\227\232" + - "\223\001\001\000\010\230\250\231\227\232\223\001\001" + - "\000\010\230\247\231\227\232\223\001\001\000\002\001" + + "\000\002\001\001\000\010\231\265\232\227\233\224\001" + + "\001\000\002\001\001\000\002\001\001\000\010\231\231" + + "\232\227\233\224\001\001\000\002\001\001\000\010\231" + + "\263\232\227\233\224\001\001\000\010\231\262\232\227" + + "\233\224\001\001\000\010\231\261\232\227\233\224\001" + + "\001\000\010\231\260\232\227\233\224\001\001\000\010" + + "\231\257\232\227\233\224\001\001\000\010\231\256\232" + + "\227\233\224\001\001\000\010\231\255\232\227\233\224" + + "\001\001\000\010\231\254\232\227\233\224\001\001\000" + + "\010\231\253\232\227\233\224\001\001\000\010\231\252" + + "\232\227\233\224\001\001\000\010\231\251\232\227\233" + + "\224\001\001\000\010\231\250\232\227\233\224\001\001" + + "\000\010\231\247\232\227\233\224\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\004\232\270" + + "\001\000\002\001\001\000\002\001\001\000\004\233\270" + "\001\001\000\002\001\001\000\002\001\001\000\006\015" + "\273\016\276\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\006\015\277\016\276\001\001\000" + @@ -871,12 +874,12 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\164\333\165\347\166\351\176\345\203\323\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\010\177\u01cf" + - "\212\u01ce\213\u01cc\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\010\177\u01d1" + + "\212\u01d0\213\u01ce\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\074\074\u0199\075\340\101\322\102\317\103" + + "\001\001\000\074\074\u019a\075\340\101\322\102\317\103" + "\326\104\325\105\346\106\343\107\314\110\352\111\342" + "\112\327\113\324\114\315\115\334\153\316\154\330\155" + "\337\156\335\157\321\160\320\161\313\162\350\163\336" + @@ -890,136 +893,100 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\001\000\002\001\001\000\002\001\001\000\004\117\371" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\036\121\u0103\122\u010c\123\u010f\126\u0113\127\377\130" + - "\u0109\131\u010d\132\u0112\145\u0107\146\u0102\147\u010a\150\u0100" + - "\151\u0114\152\u010b\001\001\000\002\001\001\000\030\124" + - "\u0178\125\u011a\133\u0118\134\u0115\140\u011c\141\u0123\142\u0116" + - "\143\u0121\144\u011f\170\u011b\224\u0122\001\001\000\002\001" + - "\001\000\030\124\u0175\125\u011a\133\u0118\134\u0115\140\u011c" + - "\141\u0123\142\u0116\143\u0121\144\u011f\170\u011b\224\u0122\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\010\230\u016c\231\227\232\223\001\001\000\030\124" + - "\u016a\125\u011a\133\u0118\134\u0115\140\u011c\141\u0123\142\u0116" + - "\143\u0121\144\u011f\170\u011b\224\u0122\001\001\000\002\001" + - "\001\000\002\001\001\000\030\124\u0167\125\u011a\133\u0118" + - "\134\u0115\140\u011c\141\u0123\142\u0116\143\u0121\144\u011f\170" + - "\u011b\224\u0122\001\001\000\030\124\u0165\125\u011a\133\u0118" + - "\134\u0115\140\u011c\141\u0123\142\u0116\143\u0121\144\u011f\170" + - "\u011b\224\u0122\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\030" + - "\124\u0119\125\u011a\133\u0118\134\u0115\140\u011c\141\u0123\142" + - "\u0116\143\u0121\144\u011f\170\u011b\224\u0122\001\001\000\002" + + "\000\006\121\377\225\u0100\001\001\000\002\001\001\000" + + "\034\122\u010e\123\u0110\126\u0114\127\u0101\130\u010a\131\u010d" + + "\132\u0113\145\u0108\146\u0104\147\u010b\150\u0102\151\u0115\152" + + "\u010c\001\001\000\002\001\001\000\030\124\u0179\125\u011b" + + "\133\u0119\134\u0116\140\u011e\141\u0124\142\u0117\143\u0122\144" + + "\u0120\170\u011c\224\u0123\001\001\000\002\001\001\000\030" + + "\124\u0176\125\u011b\133\u0119\134\u0116\140\u011e\141\u0124\142" + + "\u0117\143\u0122\144\u0120\170\u011c\224\u0123\001\001\000\002" + + "\001\001\000\002\001\001\000\010\231\u016d\232\227\233" + + "\224\001\001\000\030\124\u016b\125\u011b\133\u0119\134\u0116" + + "\140\u011e\141\u0124\142\u0117\143\u0122\144\u0120\170\u011c\224" + + "\u0123\001\001\000\002\001\001\000\002\001\001\000\030" + + "\124\u0168\125\u011b\133\u0119\134\u0116\140\u011e\141\u0124\142" + + "\u0117\143\u0122\144\u0120\170\u011c\224\u0123\001\001\000\030" + + "\124\u0166\125\u011b\133\u0119\134\u0116\140\u011e\141\u0124\142" + + "\u0117\143\u0122\144\u0120\170\u011c\224\u0123\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\014\135\u0125\137\u0127\230" + - "\u0128\231\227\232\223\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\010\230" + - "\u012a\231\227\232\223\001\001\000\002\001\001\000\010" + - "\230\u012c\231\227\232\223\001\001\000\002\001\001\000" + + "\000\002\001\001\000\030\124\u011a\125\u011b\133\u0119\134" + + "\u0116\140\u011e\141\u0124\142\u0117\143\u0122\144\u0120\170\u011c" + + "\224\u0123\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\020\202\u013e\225" + - "\u013a\227\u0142\230\u013f\231\u0141\232\u013d\233\u013b\001\001" + - "\000\002\001\001\000\022\230\u013f\231\u014d\232\u014b\233" + - "\u0147\234\u014a\236\u014f\237\u0149\240\u014c\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\016\225\u0145\227\u0142\230\u013f\231\u0141\232\u013d\233" + - "\u013b\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\022\230\u013f\231\u014d\232\u014b\233\u0147\234" + - "\u014a\236\u014f\237\u0149\240\u0156\001\001\000\002\001\001" + - "\000\002\001\001\000\004\235\u0152\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\022\230\u013f\231\u014d\232\u014b\233\u0147\234\u014a\236\u014f" + - "\237\u0149\240\u0153\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\012\226\u015a\230\u0159\231\227\232\223\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\030\124\u015f\125\u011a\133" + - "\u0118\134\u0115\140\u011c\141\u0123\142\u0116\143\u0121\144\u011f" + - "\170\u011b\224\u0122\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\014\135\u0126\137\u0128\231\u0129\232\227\233\224\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\034\122" + - "\u016e\123\u010f\126\u0113\127\377\130\u0109\131\u010d\132\u0112" + - "\145\u0107\146\u0102\147\u010a\150\u0100\151\u0114\152\u010b\001" + + "\002\001\001\000\010\231\u012b\232\227\233\224\001\001" + + "\000\002\001\001\000\010\231\u012d\232\227\233\224\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\004\117\u017d\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\004\117\u0184" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\001\000\020\202\u013f\226\u013c\230\u0143\231\u0140\232\u0141" + + "\233\u013e\234\u013b\001\001\000\022\231\u0140\232\u014f\233" + + "\u014c\234\u0148\235\u014b\237\u0150\240\u0149\241\u014d\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\016\226\u0146\230\u0143\231" + + "\u0140\232\u0141\233\u013e\234\u013b\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\022\231\u0140\232" + + "\u014f\233\u014c\234\u0148\235\u014b\237\u0150\240\u0149\241\u0157" + + "\001\001\000\002\001\001\000\002\001\001\000\004\236" + + "\u0152\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\001\000\022\231\u0140\232\u014f\233\u014c\234\u0148\235\u014b" + + "\237\u0150\240\u0149\241\u0154\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\012\227\u015b\231\u015a\232" + + "\227\233\224\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\030\124\u0160\125\u011b\133\u0119\134\u0116\140\u011e\141\u0124" + + "\142\u0117\143\u0122\144\u0120\170\u011c\224\u0123\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\004\117\u01a3\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\004\117\u01aa" + - "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\004\117\u01b3\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\034\122\u016f\123\u0110\126\u0114\127\u0101" + + "\130\u010a\131\u010d\132\u0113\145\u0108\146\u0104\147\u010b\150" + + "\u0102\151\u0115\152\u010c\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + - "\116\u01bd\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\036\121\u01c2\122\u010c" + - "\123\u010f\126\u0113\127\377\130\u0109\131\u010d\132\u0112\145" + - "\u0107\146\u0102\147\u010a\150\u0100\151\u0114\152\u010b\001\001" + - "\000\002\001\001\000\040\120\u01c5\121\u01c4\122\u010c\123" + - "\u010f\126\u0113\127\377\130\u0109\131\u010d\132\u0112\145\u0107" + - "\146\u0102\147\u010a\150\u0100\151\u0114\152\u010b\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\040" + - "\120\u01c8\121\u01c4\122\u010c\123\u010f\126\u0113\127\377\130" + - "\u0109\131\u010d\132\u0112\145\u0107\146\u0102\147\u010a\150\u0100" + - "\151\u0114\152\u010b\001\001\000\002\001\001\000\002\001" + + "\117\u017e\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\004\117\u0185\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\014" + - "\204\u01d6\220\u01d4\221\u01d9\222\u01d7\223\u01d8\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + + "\117\u01a4\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\004\117\u01ab\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\004\117\u01b4\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\014\204\u01f0\220\u01d4\221\u01d9\222\u01d7" + - "\223\u01d8\001\001\000\002\001\001\000\004\205\u01f2\001" + + "\000\002\001\001\000\004\116\u01be\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\004\200\u01f8\001\001\000\006\201" + - "\u01fa\207\u01fb\001\001\000\002\001\001\000\002\001\001" + - "\000\004\200\u020b\001\001\000\006\003\u0204\211\u0202\001" + - "\001\000\002\001\001\000\002\001\001\000\006\227\u0200" + - "\233\u013b\001\001\000\002\001\001\000\002\001\001\000" + + "\000\006\121\u01c4\225\u0100\001\001\000\006\120\u01c5\225" + + "\u01c6\001\001\000\002\001\001\000\002\001\001\000\006" + + "\121\u01c7\225\u0100\001\001\000\002\001\001\000\006\120" + + "\u01c9\225\u01c6\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\016\225\u0206\227\u0142\230\u013f\231\u0141\232" + - "\u013d\233\u013b\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\006\201\u01fa\207" + - "\u01fb\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\014\204\u0213\220\u01d4\221\u01d9" + - "\222\u01d7\223\u01d8\001\001\000\002\001\001\000\002\001" + - "\001\000\010\206\u021b\214\u0217\215\u0218\001\001\000\002" + - "\001\001\000\004\215\u0230\001\001\000\004\214\u022f\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\006\216\u0221\217" + - "\u0220\001\001\000\004\207\u0225\001\001\000\006\216\u0223" + - "\217\u0220\001\001\000\002\001\001\000\004\207\u0225\001" + - "\001\000\002\001\001\000\002\001\001\000\004\211\u0226" + + "\001\000\014\204\u01d8\220\u01d6\221\u01db\222\u01d9\223\u01da" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + @@ -1028,86 +995,117 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\004\117\u0241\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\006\117" + - "\u024a\171\u024b\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\004\117\u024f\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\004\171\u0253\001\001\000\002\001" + + "\001\001\000\002\001\001\000\014\204\u01f2\220\u01d6\221" + + "\u01db\222\u01d9\223\u01da\001\001\000\002\001\001\000\004" + + "\205\u01f4\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\004\200\u01fa\001\001" + + "\000\006\201\u01fc\207\u01fd\001\001\000\002\001\001\000" + + "\002\001\001\000\004\200\u020d\001\001\000\006\003\u0206" + + "\211\u0204\001\001\000\002\001\001\000\002\001\001\000" + + "\006\230\u0202\234\u013b\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\016\226\u0208\230\u0143\231\u0140" + + "\232\u0141\233\u013e\234\u013b\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\006" + + "\201\u01fc\207\u01fd\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\010\172\u025d\173\u025a\210\u025b\001" + + "\000\002\001\001\000\002\001\001\000\014\204\u0215\220" + + "\u01d6\221\u01db\222\u01d9\223\u01da\001\001\000\002\001\001" + + "\000\002\001\001\000\010\206\u021c\214\u0219\215\u021a\001" + + "\001\000\002\001\001\000\004\215\u0232\001\001\000\004" + + "\214\u0231\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\006\216\u0222\217\u0221" + + "\001\001\000\004\207\u0226\001\001\000\006\216\u0224\217" + + "\u0221\001\001\000\002\001\001\000\004\207\u0226\001\001" + + "\000\002\001\001\000\002\001\001\000\004\211\u0227\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\004\173\u025f\001" + - "\001\000\002\001\001\000\002\001\001\000\004\211\u0262" + - "\001\001\000\002\001\001\000\006\172\u0264\210\u025b\001" + - "\001\000\002\001\001\000\002\001\001\000\004\136\u0268" + - "\001\001\000\002\001\001\000\002\001\001\000\010\230" + - "\u026a\231\227\232\223\001\001\000\002\001\001\000\010" + - "\230\u026c\231\227\232\223\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\004\117\u0272\001\001\000\002\001\001\000" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\006\117" + - "\u027c\174\u027b\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\004\174\u027e\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\004\117\u0284" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\010\172\u028b\175\u028c\210\u025b\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\006\172\u028e\210\u025b\001\001\000\002\001\001\000" + - "\002\001\001\000\004\175\u0291\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\004\117\u0243\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\006\117\u024c\171\u024d\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\004\117\u0251\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\010\016\u02a7\067\u02a3\070\u02a6\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\010\016\u02a7\067" + - "\u02a8\070\u02a6\001\001\000\002\001\001\000\002\001\001" + - "\000\004\002\u02aa\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\010\230\u02b2\231" + - "\227\232\223\001\001\000\002\001\001\000\002\001\001" + - "\000\002\001\001\000\004\002\u02b6\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\004\002\u02ba" + + "\002\001\001\000\002\001\001\000\004\171\u0255\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\010\172\u025d\173\u025c" + + "\210\u025e\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\004" + + "\211\u0261\001\001\000\002\001\001\000\004\173\u0263\001" + + "\001\000\002\001\001\000\002\001\001\000\006\172\u0266" + + "\210\u025e\001\001\000\002\001\001\000\002\001\001\000" + + "\004\136\u026a\001\001\000\002\001\001\000\002\001\001" + + "\000\010\231\u026c\232\227\233\224\001\001\000\002\001" + + "\001\000\010\231\u026e\232\227\233\224\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\004\117\u0274\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\006\117\u027e\174\u027d\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\004\174\u0280\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\004\117\u0286\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\010\172\u028e\175\u028d" + + "\210\u025e\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\004\175\u0290\001\001\000\002\001\001" + + "\000\002\001\001\000\006\172\u0293\210\u025e\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + + "\001\001\000\010\016\u02a9\067\u02a5\070\u02a8\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\010" + + "\016\u02a9\067\u02aa\070\u02a8\001\001\000\002\001\001\000" + + "\002\001\001\000\004\002\u02ac\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\010" + + "\231\u02b4\232\227\233\224\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\004\002\u02b8\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\004\002\u02bc\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + - "\000\006\015\u02db\016\276\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\004\050\u02ef\001\001" + - "\000\002\001\001\000\006\015\u02ec\016\276\001\001\000" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\006\051\u02f4\052\u02f6\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\006\051\u02f7" + - "\052\u02f6\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\006\015\u02dd\016\276\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\004\050" + + "\u02f1\001\001\000\002\001\001\000\006\015\u02ee\016\276" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\006\051\u02f6\052\u02f8\001\001" + + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\006\051\u02f9\052\u02f8\001\001\000\002\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001\000\020\023\u0310" + - "\024\u0303\025\u0307\026\u0301\027\u02fd\030\u0304\031\u0302\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + + "\020\023\u0312\024\u0305\025\u0309\026\u0303\027\u02ff\030\u0306" + + "\031\u0304\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\002\001\001\000\004\007" + - "\u031d\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001" }); + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\004\007\u031f\001\001\000\002\001\001\000\002\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001" }); /** Access to <code>reduce_goto</code> table. */ @Override @@ -1361,6 +1359,7 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { distributionLbl = null; weightLbl = null; } + private boolean okRequest; public void report_fatal_error(String message, Object info) throws Exception { this.done_parsing(); @@ -1371,6 +1370,22 @@ public class AvatarFromSysMLParser extends java_cup.runtime.lr_parser { public void report_error(String message, Object info) {} public void syntax_error(Symbol cur_token) {} + private void tryTrivialRequest(Location left, Location right) { + getTransition(requestIndex); + if (theTransition.isRequested()) { + addError( new AvatarFromSysMLError( + AvatarFromSysMLError.LOWERROR, + left, + "Transition " + requestIndex + " is already requested", + theTransition.getRleft()) ); + } else { + theTransition.setRleft(left); + theTransition.setRright(right); + theTransition.setRequested(true); + theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); + } + } + /** Cup generated class to encapsulate user supplied action code.*/ class CUP$AvatarFromSysMLParser$actions { @@ -3381,10 +3396,14 @@ class CUP$AvatarFromSysMLParser$actions { case 133: // startState ::= startStateBegin SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",64, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3395,10 +3414,14 @@ class CUP$AvatarFromSysMLParser$actions { case 134: // startState ::= startStateBegin EQUAL AVSTARTSTATE_T LPAR RPAR SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("startState",64, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3434,7 +3457,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSTARTSTATE); theState.setLeft(zxright); @@ -3449,10 +3472,14 @@ class CUP$AvatarFromSysMLParser$actions { case 137: // standardState ::= standardStateBegin SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",65, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3463,10 +3490,14 @@ class CUP$AvatarFromSysMLParser$actions { case 138: // standardState ::= standardStateBegin EQUAL AVSTANDARDSTATE_T LPAR RPAR SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("standardState",65, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3502,7 +3533,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSTANDARDSTATE); theState.setName(id.getAvatarName()); @@ -3557,7 +3588,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSTOPSTATE); theState.setLeft(zxright); @@ -3571,10 +3602,14 @@ class CUP$AvatarFromSysMLParser$actions { case 144: // sendState ::= sendStateBegin SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendState",67, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3624,7 +3659,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSENDSTATE); theState.setLeft(zxright); @@ -3639,10 +3674,14 @@ class CUP$AvatarFromSysMLParser$actions { case 148: // receiveState ::= receiveStateBegin SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3653,10 +3692,14 @@ class CUP$AvatarFromSysMLParser$actions { case 149: // receiveState ::= receiveStateBegin EQUAL AVRECEIVESTATE_T LPAR RPAR SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveState",68, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3692,7 +3735,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXRECEIVESTATE); theState.setLeft(zxright); @@ -3735,10 +3778,14 @@ class CUP$AvatarFromSysMLParser$actions { case 154: // randomState ::= randomStateBegin EQUAL AVRANDOMSTATE_T LPAR randomAction RPAR SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("randomState",69, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3760,7 +3807,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXRANDOMSTATE); theState.setLeft(zxright); @@ -3775,10 +3822,14 @@ class CUP$AvatarFromSysMLParser$actions { case 156: // countState ::= countStateBegin EQUAL AVCOUNTSTATE_T LPAR countAction RPAR SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("countState",70, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3828,7 +3879,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXCOUNTSTATE); theState.setLeft(zxright); @@ -3868,7 +3919,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXPRESENDSTATE); theState.setLeft(zxright); @@ -3908,7 +3959,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXPRERECEIVESTATE); theState.setLeft(zxright); @@ -3937,10 +3988,14 @@ class CUP$AvatarFromSysMLParser$actions { case 165: // setTimerState ::= setTimerStateBegin EQUAL AVSETTIMERSTATE_T LPAR RPAR SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",73, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3951,10 +4006,14 @@ class CUP$AvatarFromSysMLParser$actions { case 166: // setTimerState ::= setTimerStateBegin SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerState",73, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -3976,7 +4035,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSETTIMERSTATE); theState.setLeft(zxright); @@ -4005,10 +4064,14 @@ class CUP$AvatarFromSysMLParser$actions { case 169: // resetTimerState ::= resetTimerStateBegin EQUAL AVRESETTIMERSTATE_T LPAR RPAR SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",74, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4019,10 +4082,14 @@ class CUP$AvatarFromSysMLParser$actions { case 170: // resetTimerState ::= resetTimerStateBegin SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerState",74, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4044,7 +4111,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXRESETTIMERSTATE); theState.setLeft(zxright); @@ -4073,10 +4140,14 @@ class CUP$AvatarFromSysMLParser$actions { case 173: // expireTimerState ::= expireTimerStateBegin EQUAL AVEXPIRETIMERSTATE_T LPAR RPAR SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",75, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4087,10 +4158,14 @@ class CUP$AvatarFromSysMLParser$actions { case 174: // expireTimerState ::= expireTimerStateBegin SEMICOLON { Object RESULT =null; + Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; + Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; + Object b = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value(); Location qxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location qxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object q = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerState",75, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4112,7 +4187,7 @@ class CUP$AvatarFromSysMLParser$actions { if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXEXPIRETIMERSTATE); theState.setLeft(zxright); @@ -4151,25 +4226,47 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 179: // requestList ::= request + case 179: // requestList ::= dummy request { Object RESULT =null; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",78, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",78, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 180: // requestList ::= request COMMA requestList + case 180: // requestList ::= dummy request COMMA requestList { Object RESULT =null; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",78, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("requestList",78, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 181: // request ::= IF iexpr QUEST simpleRequest ELSE NOKREQUEST_U LPAR INT RPAR + case 181: // dummy ::= + { + Object RESULT =null; + + getTransition(requestIndex); + if (theTransition.isRequested()) { + addError( new AvatarFromSysMLError( + AvatarFromSysMLError.LOWERROR, + lexer.getLocation(), + "Transition " + requestIndex + " is already requested", + theTransition.getRleft()) ); + okRequest = false; + } else { + theTransition.setRequested(true); + okRequest = true; + } + + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("dummy",147, CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + } + return CUP$AvatarFromSysMLParser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 182: // request ::= dummy IF iexpr QUEST simpleRequest ELSE NOKREQUEST_U LPAR INT RPAR { Object RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8)).xleft; @@ -4185,43 +4282,30 @@ class CUP$AvatarFromSysMLParser$actions { Location nxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; Integer n = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Integer>value(); - if ( requestIndex >= 0) { - if (n != requestIndex + 1) { + if (n != requestIndex + 1) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, nxleft, " request index must be the request range in the request list (beginning at 1)", null) ); - } - getTransition(requestIndex); - theTransition.setGuard(e); - theTransition.setRleft(ixleft); - theTransition.setRright(qxright); - requestIndex++; } + requestIndex++; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",79, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",79, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-9), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 182: // request ::= simpleRequest + case 183: // request ::= dummy simpleRequest { Object RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Object i = CUP$AvatarFromSysMLParser$stack.peek().<Object>value(); - - if ( requestIndex >= 0) { - getTransition(requestIndex); - theTransition.setRleft(ixleft); - theTransition.setRright(ixright); - requestIndex++; - } - - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",79, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + requestIndex++; + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("request",79, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 183: // simpleRequest ::= trivialRequest + case 184: // simpleRequest ::= trivialRequest { Object RESULT =null; @@ -4230,7 +4314,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 184: // simpleRequest ::= sendRequest + case 185: // simpleRequest ::= sendRequest { Object RESULT =null; @@ -4239,7 +4323,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 185: // simpleRequest ::= receiveRequest + case 186: // simpleRequest ::= receiveRequest { Object RESULT =null; @@ -4248,7 +4332,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 186: // simpleRequest ::= setTimerRequest + case 187: // simpleRequest ::= setTimerRequest { Object RESULT =null; @@ -4257,7 +4341,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 187: // simpleRequest ::= resetTimerRequest + case 188: // simpleRequest ::= resetTimerRequest { Object RESULT =null; @@ -4266,7 +4350,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 188: // simpleRequest ::= expireTimerRequest + case 189: // simpleRequest ::= expireTimerRequest { Object RESULT =null; @@ -4275,7 +4359,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 189: // trivialRequest ::= IMMEDIATEREQUEST_U + case 190: // trivialRequest ::= IMMEDIATEREQUEST_U { Object RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; @@ -4286,15 +4370,15 @@ class CUP$AvatarFromSysMLParser$actions { addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, ixleft, " immediate request has index 1 and thus can only be used as first request", null) ); } - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequest",81, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 190: // trivialRequest ::= trivialRequestBegin requestArgs RPAR + case 191: // trivialRequest ::= trivialRequestBegin requestArgs RPAR { Object RESULT =null; @@ -4303,12 +4387,12 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 191: // trivialRequestBegin ::= TRIVIALREQUEST_T LPAR + case 192: // trivialRequestBegin ::= TRIVIALREQUEST_T LPAR { Object RESULT =null; - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); clearRequestArgs(); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("trivialRequestBegin",99, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4316,7 +4400,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 192: // sendRequest ::= sendRequestBegin requestArgs RPAR + case 193: // sendRequest ::= sendRequestBegin requestArgs RPAR { Object RESULT =null; @@ -4325,12 +4409,12 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 193: // sendRequestBegin ::= SENDREQUEST_T LPAR + case 194: // sendRequestBegin ::= SENDREQUEST_T LPAR { Object RESULT =null; - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXSENDTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXSENDTRANSITION); clearRequestArgs(); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("sendRequestBegin",100, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4338,7 +4422,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 194: // receiveRequest ::= receiveRequestBegin requestArgs RPAR + case 195: // receiveRequest ::= receiveRequestBegin requestArgs RPAR { Object RESULT =null; @@ -4347,12 +4431,12 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 195: // receiveRequestBegin ::= RECEIVEREQUEST_T LPAR + case 196: // receiveRequestBegin ::= RECEIVEREQUEST_T LPAR { Object RESULT =null; - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXRECEIVETRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXRECEIVETRANSITION); clearRequestArgs(); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("receiveRequestBegin",101, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4360,7 +4444,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 196: // setTimerRequest ::= setTimerRequestBegin requestArgs RPAR + case 197: // setTimerRequest ::= setTimerRequestBegin requestArgs RPAR { Object RESULT =null; @@ -4369,12 +4453,12 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 197: // setTimerRequestBegin ::= SETTIMERREQUEST_T LPAR + case 198: // setTimerRequestBegin ::= SETTIMERREQUEST_T LPAR { Object RESULT =null; - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXSETTIMERTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXSETTIMERTRANSITION); clearRequestArgs(); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("setTimerRequestBegin",102, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4382,7 +4466,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 198: // resetTimerRequest ::= resetTimerRequestBegin requestArgs RPAR + case 199: // resetTimerRequest ::= resetTimerRequestBegin requestArgs RPAR { Object RESULT =null; @@ -4391,12 +4475,12 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 199: // resetTimerRequestBegin ::= RESETTIMERREQUEST_T LPAR + case 200: // resetTimerRequestBegin ::= RESETTIMERREQUEST_T LPAR { Object RESULT =null; - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION); clearRequestArgs(); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("resetTimerRequestBegin",103, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4404,7 +4488,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 200: // expireTimerRequest ::= expireTimerRequestBegin requestArgs RPAR + case 201: // expireTimerRequest ::= expireTimerRequestBegin requestArgs RPAR { Object RESULT =null; @@ -4413,12 +4497,12 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 201: // expireTimerRequestBegin ::= EXPIRETIMERREQUEST_T LPAR + case 202: // expireTimerRequestBegin ::= EXPIRETIMERREQUEST_T LPAR { Object RESULT =null; - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION); clearRequestArgs(); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expireTimerRequestBegin",104, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); @@ -4426,7 +4510,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 202: // requestArgs ::= requestArg + case 203: // requestArgs ::= requestArg { Object RESULT =null; @@ -4435,7 +4519,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 203: // requestArgs ::= requestArg COMMA requestArgs + case 204: // requestArgs ::= requestArg COMMA requestArgs { Object RESULT =null; @@ -4444,7 +4528,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 204: // requestArg ::= indexParam + case 205: // requestArg ::= indexParam { Object RESULT =null; @@ -4453,7 +4537,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 205: // requestArg ::= delayParam + case 206: // requestArg ::= delayParam { Object RESULT =null; @@ -4462,7 +4546,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 206: // requestArg ::= channelParam + case 207: // requestArg ::= channelParam { Object RESULT =null; @@ -4471,7 +4555,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 207: // requestArg ::= payloadParam + case 208: // requestArg ::= payloadParam { Object RESULT =null; @@ -4480,7 +4564,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 208: // requestArg ::= settimerParam + case 209: // requestArg ::= settimerParam { Object RESULT =null; @@ -4489,7 +4573,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 209: // requestArg ::= resettimerParam + case 210: // requestArg ::= resettimerParam { Object RESULT =null; @@ -4498,7 +4582,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 210: // requestArg ::= expiretimerParam + case 211: // requestArg ::= expiretimerParam { Object RESULT =null; @@ -4507,7 +4591,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 211: // indexParam ::= INDEX_F EQUAL INT + case 212: // indexParam ::= INDEX_F EQUAL INT { Object RESULT =null; Location fxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -4529,7 +4613,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 212: // delayParam ::= delayKeyword EQUAL delayExpr + case 213: // delayParam ::= delayKeyword EQUAL delayExpr { Object RESULT =null; @@ -4538,7 +4622,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 213: // delayKeyword ::= DELAY_F + case 214: // delayKeyword ::= DELAY_F { Object RESULT =null; Location dxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; @@ -4559,19 +4643,19 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 214: // delayExpr ::= iexpr + case 215: // delayExpr ::= iexpr { Object RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); - if (argOK) theTransition.setMinDelay(e); + if (argOK && okRequest) theTransition.setMinDelay(e); CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("delayExpr",91, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 215: // delayExpr ::= delayRandomExpr + case 216: // delayExpr ::= delayRandomExpr { Object RESULT =null; @@ -4580,7 +4664,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 216: // delayRandomExpr ::= BOUNDRANDOM_U LPAR iexpr COMMA iexpr RPAR + case 217: // delayRandomExpr ::= BOUNDRANDOM_U LPAR iexpr COMMA iexpr RPAR { Object RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft; @@ -4590,7 +4674,7 @@ class CUP$AvatarFromSysMLParser$actions { Location axright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; String a = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value(); - if(argOK) { + if(argOK && okRequest) { theTransition.setMinDelay(i); theTransition.setMaxDelay(a); } @@ -4600,7 +4684,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 217: // payloadParam ::= payloadParamBegin IDENT LPAR termList RPAR + case 218: // payloadParam ::= payloadParamBegin IDENT LPAR termList RPAR { Object RESULT =null; Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -4611,7 +4695,7 @@ class CUP$AvatarFromSysMLParser$actions { if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for send transitions", null)); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; @@ -4620,7 +4704,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 218: // payloadParam ::= payloadParamBegin IDENT LPAR RPAR + case 219: // payloadParam ::= payloadParamBegin IDENT LPAR RPAR { Object RESULT =null; Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft; @@ -4631,7 +4715,7 @@ class CUP$AvatarFromSysMLParser$actions { if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for send transitions", null)); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; @@ -4640,7 +4724,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 219: // payloadParam ::= payloadParamBegin IDENT + case 220: // payloadParam ::= payloadParamBegin IDENT { Object RESULT =null; Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; @@ -4651,7 +4735,7 @@ class CUP$AvatarFromSysMLParser$actions { if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for send transitions", null)); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; @@ -4660,7 +4744,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 220: // payloadParam ::= payloadParamBegin TIMERSETMSG_T LPAR stxExpr RPAR + case 221: // payloadParam ::= payloadParamBegin TIMERSETMSG_T LPAR stxExpr RPAR { Object RESULT =null; Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -4675,7 +4759,7 @@ class CUP$AvatarFromSysMLParser$actions { addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for set-timer transitions", null)); argList.add(e); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; @@ -4684,7 +4768,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 221: // payloadParam ::= payloadParamBegin TIMERRESETMSG_T LPAR RPAR + case 222: // payloadParam ::= payloadParamBegin TIMERRESETMSG_T LPAR RPAR { Object RESULT =null; Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft; @@ -4695,7 +4779,7 @@ class CUP$AvatarFromSysMLParser$actions { if (theTransition.getType() != AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for reset-timer transitions", null)); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; @@ -4704,7 +4788,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 222: // payloadParamBegin ::= PAYLOAD_F EQUAL + case 223: // payloadParamBegin ::= PAYLOAD_F EQUAL { Object RESULT =null; Location pxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; @@ -4726,7 +4810,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 223: // channelParam ::= CHANNEL_F EQUAL IDENT + case 224: // channelParam ::= CHANNEL_F EQUAL IDENT { Object RESULT =null; Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -4739,12 +4823,14 @@ class CUP$AvatarFromSysMLParser$actions { if (channelArg != null) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "channel parameter has already been set", channelArg)); else { - theTransition.setSignalName(theBlock.getName(), id.getAvatarName()); if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION && theTransition.getType() != AvatarFromSysMLSyntax.STXRECEIVETRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "such channel is only relevant for send or receive transitions", null)); - commTransitions.add(theTransition); + if (okRequest) { + theTransition.setSignalName(theBlock.getName(), id.getAvatarName()); + commTransitions.add(theTransition); + } channelArg = cxleft; } @@ -4753,7 +4839,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 224: // settimerParam ::= CHANNEL_F EQUAL IDENT POINT SET_TM + case 225: // settimerParam ::= CHANNEL_F EQUAL IDENT POINT SET_TM { Object RESULT =null; Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -4769,7 +4855,7 @@ class CUP$AvatarFromSysMLParser$actions { if (theTransition.getType() != AvatarFromSysMLSyntax.STXSETTIMERTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "such channel is only relevant for set-timer transitions", null)); - theTransition.setTimer(id.getAvatarName()); + if (okRequest) theTransition.setTimer(id.getAvatarName()); settimerArg = cxleft; } @@ -4778,7 +4864,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 225: // resettimerParam ::= CHANNEL_F EQUAL IDENT POINT RESET_TM + case 226: // resettimerParam ::= CHANNEL_F EQUAL IDENT POINT RESET_TM { Object RESULT =null; Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -4794,7 +4880,7 @@ class CUP$AvatarFromSysMLParser$actions { if (theTransition.getType() != AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "such channel is only relevant for reset-timer transitions", null)); - theTransition.setTimer(id.getAvatarName()); + if (okRequest) theTransition.setTimer(id.getAvatarName()); resettimerArg = cxleft; } @@ -4803,7 +4889,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 226: // expiretimerParam ::= CHANNEL_F EQUAL IDENT POINT EXPIRE_TM + case 227: // expiretimerParam ::= CHANNEL_F EQUAL IDENT POINT EXPIRE_TM { Object RESULT =null; Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -4819,7 +4905,7 @@ class CUP$AvatarFromSysMLParser$actions { if (theTransition.getType() != AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "such channel is only relevant for expire-timer transitions", null)); - theTransition.setTimer(id.getAvatarName()); + if (okRequest) theTransition.setTimer(id.getAvatarName()); expiretimerArg = cxleft; } @@ -4828,7 +4914,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 227: // termList ::= stxRvalue + case 228: // termList ::= stxRvalue { Object RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; @@ -4840,7 +4926,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 228: // termList ::= termList COMMA stxRvalue + case 229: // termList ::= termList COMMA stxRvalue { Object RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; @@ -4852,7 +4938,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 229: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA randomParam RPAR + case 230: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA randomParam RPAR { Object RESULT =null; @@ -4861,7 +4947,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 230: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR randomParam COMMA targetParam RPAR + case 231: // randomAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR randomParam COMMA targetParam RPAR { Object RESULT =null; @@ -4870,7 +4956,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 231: // targetParam ::= target EQUAL fullIdent + case 232: // targetParam ::= target EQUAL fullIdent { Object RESULT =null; @@ -4881,7 +4967,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 232: // target ::= TARGET_F + case 233: // target ::= TARGET_F { Object RESULT =null; @@ -4892,7 +4978,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 233: // fullIdent ::= IDENT + case 234: // fullIdent ::= IDENT { Object RESULT =null; Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; @@ -4906,7 +4992,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 234: // fullIdent ::= fullIdent POINT IDENT + case 235: // fullIdent ::= fullIdent POINT IDENT { Object RESULT =null; Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; @@ -4920,7 +5006,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 235: // randomParam ::= VALUE_F EQUAL actionRandomExpr + case 236: // randomParam ::= VALUE_F EQUAL actionRandomExpr { Object RESULT =null; @@ -4929,7 +5015,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 236: // actionRandomExpr ::= BOUNDRANDOM_U LPAR iexpr COMMA iexpr RPAR + case 237: // actionRandomExpr ::= BOUNDRANDOM_U LPAR iexpr COMMA iexpr RPAR { Object RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft; @@ -4947,7 +5033,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 237: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA countParam RPAR + case 238: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR targetParam COMMA countParam RPAR { Object RESULT =null; @@ -4956,7 +5042,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 238: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR countParam COMMA targetParam RPAR + case 239: // countAction ::= STATEACTION_F EQUAL ASSIGNMENT_T LPAR countParam COMMA targetParam RPAR { Object RESULT =null; @@ -4965,7 +5051,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 239: // countParam ::= VALUE_F EQUAL IDENT POINT AMOUNT_U LPAR RPAR + case 240: // countParam ::= VALUE_F EQUAL IDENT POINT AMOUNT_U LPAR RPAR { Object RESULT =null; Location idxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -4980,7 +5066,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 240: // transition ::= transitionBegin THEN IDENT SEMICOLON + case 241: // transition ::= transitionBegin THEN IDENT SEMICOLON { Object RESULT =null; Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft; @@ -5003,7 +5089,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 241: // transition ::= transitionBegin doActions THEN IDENT SEMICOLON + case 242: // transition ::= transitionBegin doActions THEN IDENT SEMICOLON { Object RESULT =null; Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -5026,7 +5112,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 242: // transition ::= transitionBegin THEN IDENT LBRAC transitionLabels RBRAC + case 243: // transition ::= transitionBegin THEN IDENT LBRAC transitionLabels RBRAC { Object RESULT =null; Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft; @@ -5051,7 +5137,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 243: // transition ::= transitionBegin doActions THEN IDENT LBRAC transitionLabels RBRAC + case 244: // transition ::= transitionBegin doActions THEN IDENT LBRAC transitionLabels RBRAC { Object RESULT =null; Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-6)).xleft; @@ -5076,7 +5162,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 244: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT + case 245: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT { Object RESULT =null; Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -5098,7 +5184,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 245: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT IF INDEX_F EQ INT + case 246: // transitionBegin ::= TRANSITION COLON AVTRANSITION_T FIRST IDENT IF INDEX_F EQ INT { Object RESULT =null; Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-8)).xleft; @@ -5123,7 +5209,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 246: // doActions ::= transitionActionBegin LBRAC RBRAC + case 247: // doActions ::= transitionActionBegin LBRAC RBRAC { Object RESULT =null; @@ -5132,7 +5218,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 247: // doActions ::= transitionActionBegin LBRAC transitionAction RBRAC + case 248: // doActions ::= transitionActionBegin LBRAC transitionAction RBRAC { Object RESULT =null; @@ -5144,7 +5230,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 248: // doActions ::= receiveActionBegin LBRAC RBRAC + case 249: // doActions ::= receiveActionBegin LBRAC RBRAC { Object RESULT =null; @@ -5153,7 +5239,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 249: // doActions ::= receiveActionBegin LBRAC receiveAction RBRAC + case 250: // doActions ::= receiveActionBegin LBRAC receiveAction RBRAC { Object RESULT =null; @@ -5165,7 +5251,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 250: // transitionActionBegin ::= DO ACTION COLON TRANSITIONACTION_T + case 251: // transitionActionBegin ::= DO ACTION COLON TRANSITIONACTION_T { Object RESULT =null; @@ -5176,7 +5262,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 251: // receiveActionBegin ::= DO ACTION COLON RECEIVEACTION_T + case 252: // receiveActionBegin ::= DO ACTION COLON RECEIVEACTION_T { Object RESULT =null; @@ -5187,7 +5273,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 252: // transitionAction ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON + case 253: // transitionAction ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON { Object RESULT =null; @@ -5196,7 +5282,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 253: // transitionAction ::= FIRST START_U SEMICOLON actionSeq + case 254: // transitionAction ::= FIRST START_U SEMICOLON actionSeq { Object RESULT =null; @@ -5205,7 +5291,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 254: // actionSeq ::= THEN act THEN DONE_U SEMICOLON + case 255: // actionSeq ::= THEN act THEN DONE_U SEMICOLON { Object RESULT =null; @@ -5214,7 +5300,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 255: // actionSeq ::= THEN act actionSeq + case 256: // actionSeq ::= THEN act actionSeq { Object RESULT =null; @@ -5223,7 +5309,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 256: // act ::= assign fulllIdent GETS stxRvalue SEMICOLON + case 257: // act ::= assign fulllIdent GETS stxRvalue SEMICOLON { Object RESULT =null; Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -5246,7 +5332,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 257: // act ::= ACTION EQUAL stxCall SEMICOLON + case 258: // act ::= ACTION EQUAL stxCall SEMICOLON { Object RESULT =null; Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-3)).xleft; @@ -5266,7 +5352,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 258: // fulllIdent ::= fullIdent + case 259: // fulllIdent ::= fullIdent { String RESULT =null; @@ -5278,7 +5364,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 259: // assign ::= ASSIGN + case 260: // assign ::= ASSIGN { Object RESULT =null; @@ -5289,7 +5375,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 260: // receiveAction ::= messageLine receiveAssigns + case 261: // receiveAction ::= messageLine receiveAssigns { Object RESULT =null; @@ -5298,7 +5384,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 261: // receiveAction ::= receiveAssigns messageLine + case 262: // receiveAction ::= receiveAssigns messageLine { Object RESULT =null; @@ -5307,7 +5393,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 262: // messageLine ::= ITEM MSG_U COLON IDENT EQUAL PAYLOAD_F AS IDENT SEMICOLON + case 263: // messageLine ::= ITEM MSG_U COLON IDENT EQUAL PAYLOAD_F AS IDENT SEMICOLON { Object RESULT =null; @@ -5316,7 +5402,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 263: // receiveAssigns ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON + case 264: // receiveAssigns ::= FIRST START_U SEMICOLON THEN DONE_U SEMICOLON { Object RESULT =null; @@ -5325,7 +5411,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 264: // receiveAssigns ::= FIRST START_U SEMICOLON receiveAssignSeq + case 265: // receiveAssigns ::= FIRST START_U SEMICOLON receiveAssignSeq { Object RESULT =null; @@ -5334,7 +5420,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 265: // receiveAssignSeq ::= receiveAssign THEN DONE_U SEMICOLON + case 266: // receiveAssignSeq ::= receiveAssign THEN DONE_U SEMICOLON { Object RESULT =null; @@ -5343,7 +5429,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 266: // receiveAssignSeq ::= receiveAssign receiveAssignSeq + case 267: // receiveAssignSeq ::= receiveAssign receiveAssignSeq { Object RESULT =null; @@ -5352,7 +5438,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 267: // receiveAssign ::= THEN assign fullIdent GETS MSG_U POINT IDENT SEMICOLON + case 268: // receiveAssign ::= THEN assign fullIdent GETS MSG_U POINT IDENT SEMICOLON { Object RESULT =null; Location txleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-7)).xleft; @@ -5373,7 +5459,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 268: // transitionLabels ::= transitionLabel SEMICOLON + case 269: // transitionLabels ::= transitionLabel SEMICOLON { Object RESULT =null; @@ -5382,7 +5468,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 269: // transitionLabels ::= transitionLabel SEMICOLON transitionLabels + case 270: // transitionLabels ::= transitionLabel SEMICOLON transitionLabels { Object RESULT =null; @@ -5391,7 +5477,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 270: // transitionLabel ::= distributionLabel + case 271: // transitionLabel ::= distributionLabel { Object RESULT =null; @@ -5400,7 +5486,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 271: // transitionLabel ::= weightLabel + case 272: // transitionLabel ::= weightLabel { Object RESULT =null; @@ -5409,7 +5495,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 272: // transitionLabel ::= extraLabel + case 273: // transitionLabel ::= extraLabel { Object RESULT =null; @@ -5418,7 +5504,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 273: // distributionLabel ::= ATTRIBUTE DISTRIBUTION_A COLON STRING_T EQUAL STRING + case 274: // distributionLabel ::= ATTRIBUTE DISTRIBUTION_A COLON STRING_T EQUAL STRING { Object RESULT =null; Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft; @@ -5441,7 +5527,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 274: // weightLabel ::= ATTRIBUTE WEIGHT_A COLON STRING_T EQUAL REAL + case 275: // weightLabel ::= ATTRIBUTE WEIGHT_A COLON STRING_T EQUAL REAL { Object RESULT =null; Location axleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-5)).xleft; @@ -5464,7 +5550,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 275: // extraLabel ::= ATTRIBUTE ANYNAME COLON STRING_T EQUAL STRING + case 276: // extraLabel ::= ATTRIBUTE ANYNAME COLON STRING_T EQUAL STRING { Object RESULT =null; Location nxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -5483,7 +5569,7 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 276: // extraLabel ::= ATTRIBUTE IDENT COLON STRING_T EQUAL STRING + case 277: // extraLabel ::= ATTRIBUTE IDENT COLON STRING_T EQUAL STRING { Object RESULT =null; Location nxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-4)).xleft; @@ -5502,79 +5588,79 @@ class CUP$AvatarFromSysMLParser$actions { return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 277: // stxRvalue ::= stxCall + case 278: // stxRvalue ::= stxCall { StxTerm RESULT =null; Location cxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location cxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; StxCall c = CUP$AvatarFromSysMLParser$stack.peek().<StxCall>value(); RESULT = c; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxRvalue",147, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxRvalue",148, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 278: // stxRvalue ::= expr + case 279: // stxRvalue ::= expr { StxTerm RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = new StxExpr(e); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxRvalue",147, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxRvalue",148, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 279: // stxRvalue ::= complexIdent + case 280: // stxRvalue ::= complexIdent { StxTerm RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String i = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = new StxId(i); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxRvalue",147, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxRvalue",148, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 280: // stxExpr ::= iexpr + case 281: // stxExpr ::= iexpr { StxExpr RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = new StxExpr(e); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxExpr",148, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxExpr",149, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 281: // iexpr ::= expr + case 282: // iexpr ::= expr { String RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = e; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("iexpr",150, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("iexpr",151, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 282: // iexpr ::= complexIdent + case 283: // iexpr ::= complexIdent { String RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String i = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = i; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("iexpr",150, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("iexpr",151, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 283: // expr ::= iexpr PLUS iexpr + case 284: // expr ::= iexpr PLUS iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5584,12 +5670,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " + " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 284: // expr ::= iexpr MINUS iexpr + case 285: // expr ::= iexpr MINUS iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5599,12 +5685,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " - " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 285: // expr ::= iexpr MULT iexpr + case 286: // expr ::= iexpr MULT iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5614,12 +5700,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " * " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 286: // expr ::= iexpr DIV iexpr + case 287: // expr ::= iexpr DIV iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5629,12 +5715,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " / " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 287: // expr ::= iexpr MOD iexpr + case 288: // expr ::= iexpr MOD iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5644,24 +5730,24 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " % " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 288: // expr ::= MINUS iexpr + case 289: // expr ::= MINUS iexpr { String RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = "-" + e; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 289: // expr ::= iexpr OR iexpr + case 290: // expr ::= iexpr OR iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5671,12 +5757,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " || " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 290: // expr ::= iexpr AND iexpr + case 291: // expr ::= iexpr AND iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5686,24 +5772,24 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " && " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 291: // expr ::= NOT iexpr + case 292: // expr ::= NOT iexpr { String RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = "!" + e; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 292: // expr ::= iexpr LT iexpr + case 293: // expr ::= iexpr LT iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5713,12 +5799,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " < " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 293: // expr ::= iexpr GT iexpr + case 294: // expr ::= iexpr GT iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5728,12 +5814,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " > " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 294: // expr ::= iexpr LEQ iexpr + case 295: // expr ::= iexpr LEQ iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5743,12 +5829,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " <= " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 295: // expr ::= iexpr GEQ iexpr + case 296: // expr ::= iexpr GEQ iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5758,12 +5844,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " >= " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 296: // expr ::= iexpr EQ iexpr + case 297: // expr ::= iexpr EQ iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5773,12 +5859,12 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " == " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 297: // expr ::= iexpr DIF iexpr + case 298: // expr ::= iexpr DIF iexpr { String RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5788,31 +5874,19 @@ class CUP$AvatarFromSysMLParser$actions { Location rxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String r = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = l + " != " + r; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 298: // expr ::= LPAR iexpr RPAR + case 299: // expr ::= LPAR iexpr RPAR { String RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; String e = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<String>value(); RESULT = "(" + e + ")"; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); - } - return CUP$AvatarFromSysMLParser$result; - - /*. . . . . . . . . . . . . . . . . . . .*/ - case 299: // expr ::= INT - { - String RESULT =null; - Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; - Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; - Integer i = CUP$AvatarFromSysMLParser$stack.peek().<Integer>value(); - RESULT = "" + i; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; @@ -5838,31 +5912,43 @@ class CUP$AvatarFromSysMLParser$actions { switch (CUP$AvatarFromSysMLParser$act_num) { /*. . . . . . . . . . . . . . . . . . . .*/ - case 300: // expr ::= BOOL + case 300: // expr ::= INT + { + String RESULT =null; + Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; + Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; + Integer i = CUP$AvatarFromSysMLParser$stack.peek().<Integer>value(); + RESULT = "" + i; + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + } + return CUP$AvatarFromSysMLParser$result; + + /*. . . . . . . . . . . . . . . . . . . .*/ + case 301: // expr ::= BOOL { String RESULT =null; Location bxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location bxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Boolean b = CUP$AvatarFromSysMLParser$stack.peek().<Boolean>value(); RESULT = ( b ? "true" : "false" ); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",151, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("expr",152, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 301: // complexIdent ::= IDENT + case 302: // complexIdent ::= IDENT { String RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; Ident e = CUP$AvatarFromSysMLParser$stack.peek().<Ident>value(); RESULT = e.getAvatarName(); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("complexIdent",152, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("complexIdent",153, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 302: // complexIdent ::= IDENT POINT complexIdent + case 303: // complexIdent ::= IDENT POINT complexIdent { String RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2)).xleft; @@ -5872,24 +5958,24 @@ class CUP$AvatarFromSysMLParser$actions { Location ixright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String i = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); RESULT = e.getAvatarName() + "." + i; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("complexIdent",152, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("complexIdent",153, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 303: // stxCall ::= stxCallBegin RPAR + case 304: // stxCall ::= stxCallBegin RPAR { StxCall RESULT =null; theCall.addSegment(stringAcc.toString() + ")"); RESULT = theCall; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCall",149, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCall",150, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 304: // stxCall ::= stxCallBegin stxCallParams RPAR + case 305: // stxCall ::= stxCallBegin stxCallParams RPAR { StxCall RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; @@ -5899,12 +5985,12 @@ class CUP$AvatarFromSysMLParser$actions { theCall.addSegment(stringAcc.toString() + ")"); RESULT = theCall; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCall",149, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCall",150, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 305: // stxCallBegin ::= IDENT LPAR + case 306: // stxCallBegin ::= IDENT LPAR { Object RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; @@ -5914,51 +6000,51 @@ class CUP$AvatarFromSysMLParser$actions { theCall = new StxCall(); stringAcc = new StringBuffer(i.getAvatarName() + "("); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallBegin",153, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallBegin",154, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 306: // stxCallParams ::= stxCallParam + case 307: // stxCallParams ::= stxCallParam { Object RESULT =null; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParams",158, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParams",159, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 307: // stxCallParams ::= stxCallParam comma stxCallParams + case 308: // stxCallParams ::= stxCallParam comma stxCallParams { Object RESULT =null; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParams",158, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParams",159, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 308: // comma ::= COMMA + case 309: // comma ::= COMMA { Object RESULT =null; stringAcc.append(", "); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("comma",155, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("comma",156, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 309: // stxCallParam ::= expr + case 310: // stxCallParam ::= expr { Object RESULT =null; Location exleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; Location exright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xright; String e = CUP$AvatarFromSysMLParser$stack.peek().<String>value(); stringAcc.append(e); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParam",154, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParam",155, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 310: // stxCallParam ::= complexIdent + case 311: // stxCallParam ::= complexIdent { Object RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.peek()).xleft; @@ -5969,42 +6055,42 @@ class CUP$AvatarFromSysMLParser$actions { theCall.addIdent(i); stringAcc.setLength(0); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParam",154, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParam",155, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 311: // stxCallParam ::= call + case 312: // stxCallParam ::= call { Object RESULT =null; - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParam",154, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("stxCallParam",155, CUP$AvatarFromSysMLParser$stack.peek(), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 312: // call ::= callBegin RPAR + case 313: // call ::= callBegin RPAR { Object RESULT =null; stringAcc.append(")"); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("call",156, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("call",157, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 313: // call ::= stxCallBegin stxCallParams RPAR + case 314: // call ::= stxCallBegin stxCallParams RPAR { Object RESULT =null; Location lxleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; Location lxright = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xright; Object l = CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1).<Object>value(); stringAcc.append(")"); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("call",156, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("call",157, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-2), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 314: // callBegin ::= IDENT LPAR + case 315: // callBegin ::= IDENT LPAR { Object RESULT =null; Location ixleft = ((java_cup.runtime.ComplexSymbolFactory.ComplexSymbol)CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1)).xleft; @@ -6013,7 +6099,7 @@ class CUP$AvatarFromSysMLParser$actions { stringAcc.append(i.getAvatarName() + "("); - CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("callBegin",157, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); + CUP$AvatarFromSysMLParser$result = parser.getSymbolFactory().newSymbol("callBegin",158, CUP$AvatarFromSysMLParser$stack.elementAt(CUP$AvatarFromSysMLParser$top-1), CUP$AvatarFromSysMLParser$stack.peek(), RESULT); } return CUP$AvatarFromSysMLParser$result; diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSymbols.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSymbols.java index ad8d0d337cd0a9d5ab4df75ca2c72cfe11bf3b2b..702210f13ff79b383a5027872a2f86592157f99c 100644 --- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSymbols.java +++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSymbols.java @@ -473,7 +473,7 @@ public class AvatarFromSysMLSymbols { static final int receiveRequestBegin = 101; static final int privateParam = 21; static final int startStateBegin = 105; - static final int call = 156; + static final int call = 157; static final int receiveAssign = 141; static final int specializes = 5; static final int calcMethodDeclBegin = 61; @@ -482,7 +482,7 @@ public class AvatarFromSysMLSymbols { static final int transitionActionBegin = 136; static final int block2Param = 20; static final int standardState = 65; - static final int stxCallParams = 158; + static final int stxCallParams = 159; static final int featureList = 3; static final int presendState = 71; static final int inSignalBinding = 32; @@ -498,7 +498,7 @@ public class AvatarFromSysMLSymbols { static final int stopStateBegin = 107; static final int signalBinding = 31; static final int receiveAssignSeq = 140; - static final int stxCallParam = 154; + static final int stxCallParam = 155; static final int fieldDecl = 12; static final int setTimerState = 73; static final int stateMachineItem = 59; @@ -535,7 +535,7 @@ public class AvatarFromSysMLSymbols { static final int simpleRequest = 80; static final int messageDecl = 34; static final int datatypeDeclHEADER = 10; - static final int expr = 151; + static final int expr = 152; static final int stopState = 66; static final int randomAction = 119; static final int calcMethodItem = 54; @@ -552,10 +552,11 @@ public class AvatarFromSysMLSymbols { static final int setTimerRequest = 86; static final int redefineField = 40; static final int blockDeclBegin = 44; + static final int dummy = 147; static final int constantDeclHEADER = 62; static final int blockDeclBODY = 45; static final int trivialRequest = 81; - static final int stxCall = 149; + static final int stxCall = 150; static final int countAction = 122; static final int expireTimerStateBegin = 116; static final int relationDecl = 13; @@ -563,7 +564,7 @@ public class AvatarFromSysMLSymbols { static final int blockItem = 46; static final int outMessageDeclBegin = 42; static final int transitionLabels = 130; - static final int comma = 155; + static final int comma = 156; static final int delayParam = 90; static final int relParams = 17; static final int targetParam = 120; @@ -601,13 +602,13 @@ public class AvatarFromSysMLSymbols { static final int transitionBegin = 129; static final int timerDecl = 56; static final int transitionAction = 131; - static final int stxRvalue = 147; + static final int stxRvalue = 148; static final int sendState = 67; static final int block1Param = 19; - static final int complexIdent = 152; - static final int iexpr = 150; + static final int complexIdent = 153; + static final int iexpr = 151; static final int datatypeDecl = 9; - static final int callBegin = 157; + static final int callBegin = 158; static final int countParam = 123; static final int expireTimerState = 75; static final int prereceiveState = 72; @@ -617,7 +618,7 @@ public class AvatarFromSysMLSymbols { static final int requestArgs = 82; static final int stateMachineItems = 58; static final int request = 79; - static final int stxExpr = 148; + static final int stxExpr = 149; static final int setTimerStateBegin = 114; static final int delayExpr = 91; static final int attributeDeclHEADER = 49; @@ -626,7 +627,7 @@ public class AvatarFromSysMLSymbols { static final int nbfChDecl = 29; static final int receiveAssigns = 139; static final int stateMachineBegin = 117; - static final int stxCallBegin = 153; + static final int stxCallBegin = 154; static final int transitionLabel = 142; static final int countStateBegin = 111; } diff --git a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSyntax.java b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSyntax.java index 68c2754b612176ea9827c93687aa187b1a8b7bf5..b0a490615b1bdee4531c1b86514c92e337b7351e 100644 --- a/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSyntax.java +++ b/src/main/java/avatartranslator/tosysmlv2/AvatarFromSysMLSyntax.java @@ -631,6 +631,7 @@ public class AvatarFromSysMLSyntax { private ArrayList<StxAction> actions; private Location rleft; private Location rright; + private boolean requested; public StxTransition(int _index){ super("transition_" + _index); @@ -648,6 +649,7 @@ public class AvatarFromSysMLSyntax { actions = new ArrayList<StxAction>(); rleft = defaultLocation; rright = defaultLocation; + requested = false; } public void setType(byte _t) { type = _t; }; public void setGuard(String _s) { guard = _s; } @@ -667,6 +669,7 @@ public class AvatarFromSysMLSyntax { public void setActions(ArrayList<StxAction> _a) { actions = _a; } public void setRleft(Location _l) { rleft = _l; } public void setRright(Location _l) { rright = _l; } + public void setRequested(boolean _b) { requested = _b; } public byte getType() { return type; } public int getIndex() { return index; } public String getGuard() { return guard; } @@ -685,6 +688,7 @@ public class AvatarFromSysMLSyntax { public ArrayList<StxAction> getActions() { return actions; } public Location getRleft() { return rleft; } public Location getRright() { return rright; } + public boolean isRequested() { return requested; } } public static class StxAction extends StxElement { private byte type; diff --git a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup index fdd7d371773e23ed22bab4099656e285866b77f2..4e88747540767107eb4e69a0ca9c8020cd4a9a69 100644 --- a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup +++ b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup @@ -216,6 +216,7 @@ parser code {: distributionLbl = null; weightLbl = null; } + private boolean okRequest; public void report_fatal_error(String message, Object info) throws Exception { this.done_parsing(); @@ -225,6 +226,22 @@ parser code {: } public void report_error(String message, Object info) {} public void syntax_error(Symbol cur_token) {} + + private void tryTrivialRequest(Location left, Location right) { + getTransition(requestIndex); + if (theTransition.isRequested()) { + addError( new AvatarFromSysMLError( + AvatarFromSysMLError.LOWERROR, + left, + "Transition " + requestIndex + " is already requested", + theTransition.getRleft()) ); + } else { + theTransition.setRleft(left); + theTransition.setRright(right); + theTransition.setRequested(true); + theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); + } + } :} /* Terminals (tokens returned by the scanner). */ @@ -305,7 +322,7 @@ non terminal state, startState, standardState, stopState, sendState, receiveStat non terminal randomAction, targetParam, randomParam, countAction, countParam, transition, doActions, actionSeq, act, termList, transitionBegin, transitionLabels, transitionAction, receiveAction, assign, target, fullIdent, transitionActionBegin, receiveActionBegin, messageLine, receiveAssigns, receiveAssignSeq, - receiveAssign, transitionLabel, distributionLabel, weightLabel, extraLabel, delayKeyword; + receiveAssign, transitionLabel, distributionLabel, weightLabel, extraLabel, delayKeyword, dummy; non terminal StxTerm stxRvalue; non terminal StxExpr stxExpr; @@ -987,10 +1004,12 @@ state ::= standardState | stopState | startState | sendState | receiveState | setTimerState | resetTimerState | expireTimerState ; startState ::= - startStateBegin SEMICOLON:q {: + startStateBegin:b SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} - | startStateBegin EQUAL AVSTARTSTATE_T LPAR RPAR SEMICOLON:q {: + | startStateBegin:b EQUAL AVSTARTSTATE_T LPAR RPAR SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} | startStateBegin EQUAL AVSTARTSTATE_T LPAR requestParam RPAR SEMICOLON:q {: @@ -1002,7 +1021,7 @@ startStateBegin ::= ENTRY:z ACTION IDENT:id COLON AVSTARTSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSTARTSTATE); theState.setLeft(zxright); @@ -1010,10 +1029,12 @@ startStateBegin ::= ENTRY:z ACTION IDENT:id COLON AVSTARTSTATE_T {: } :}; standardState ::= - standardStateBegin SEMICOLON:q {: + standardStateBegin:b SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} - | standardStateBegin EQUAL AVSTANDARDSTATE_T LPAR RPAR SEMICOLON:q {: + | standardStateBegin:b EQUAL AVSTANDARDSTATE_T LPAR RPAR SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} | standardStateBegin EQUAL AVSTANDARDSTATE_T LPAR poolParam RPAR SEMICOLON:q {: @@ -1025,7 +1046,7 @@ standardStateBegin ::= STATE:z IDENT:id COLON AVSTANDARDSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSTANDARDSTATE); theState.setName(id.getAvatarName()); @@ -1046,14 +1067,15 @@ stopStateBegin ::= EXIT:z ACTION IDENT:id COLON AVSTOPSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSTOPSTATE); theState.setLeft(zxright); } :}; sendState ::= - sendStateBegin SEMICOLON:q {: + sendStateBegin:b SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} | sendStateBegin EQUAL AVSENDSTATE_T LPAR RPAR SEMICOLON:q {: @@ -1068,7 +1090,7 @@ sendStateBegin ::= STATE:z IDENT:id COLON AVSENDSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSENDSTATE); theState.setLeft(zxright); @@ -1076,10 +1098,12 @@ sendStateBegin ::= STATE:z IDENT:id COLON AVSENDSTATE_T {: } :}; receiveState ::= - receiveStateBegin SEMICOLON:q {: + receiveStateBegin:b SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} - | receiveStateBegin EQUAL AVRECEIVESTATE_T LPAR RPAR SEMICOLON:q {: + | receiveStateBegin:b EQUAL AVRECEIVESTATE_T LPAR RPAR SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} | receiveStateBegin EQUAL AVRECEIVESTATE_T LPAR requestParam RPAR SEMICOLON:q {: @@ -1091,7 +1115,7 @@ receiveStateBegin ::= STATE:z IDENT:id COLON AVRECEIVESTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXRECEIVESTATE); theState.setLeft(zxright); @@ -1105,7 +1129,8 @@ randomState ::= | randomStateBegin EQUAL AVRANDOMSTATE_T LPAR requestParam COMMA randomAction RPAR SEMICOLON:q {: theState.setRight(qxright); :} - | randomStateBegin EQUAL AVRANDOMSTATE_T LPAR randomAction RPAR SEMICOLON:q {: + | randomStateBegin:b EQUAL AVRANDOMSTATE_T LPAR randomAction RPAR SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} ; @@ -1114,7 +1139,7 @@ randomStateBegin ::= STATE:z IDENT:id COLON AVRANDOMSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXRANDOMSTATE); theState.setLeft(zxright); @@ -1122,7 +1147,8 @@ randomStateBegin ::= STATE:z IDENT:id COLON AVRANDOMSTATE_T {: } :}; countState ::= - countStateBegin EQUAL AVCOUNTSTATE_T LPAR countAction RPAR SEMICOLON:q {: + countStateBegin:b EQUAL AVCOUNTSTATE_T LPAR countAction RPAR SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} | countStateBegin EQUAL AVCOUNTSTATE_T LPAR requestParam COMMA countAction RPAR SEMICOLON:q {: @@ -1137,7 +1163,7 @@ countStateBegin ::= STATE:z IDENT:id COLON AVCOUNTSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXCOUNTSTATE); theState.setLeft(zxright); @@ -1154,7 +1180,7 @@ presendStateBegin ::= STATE:z IDENT:id COLON AVPRESENDSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXPRESENDSTATE); theState.setLeft(zxright); @@ -1171,7 +1197,7 @@ prereceiveStateBegin ::= STATE:z IDENT:id COLON AVPRERECEIVESTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXPRERECEIVESTATE); theState.setLeft(zxright); @@ -1182,10 +1208,12 @@ setTimerState ::= setTimerStateBegin EQUAL AVSETTIMERSTATE_T LPAR requestParam RPAR SEMICOLON:q {: theState.setRight(qxright); :} - | setTimerStateBegin EQUAL AVSETTIMERSTATE_T LPAR RPAR SEMICOLON:q {: + | setTimerStateBegin:b EQUAL AVSETTIMERSTATE_T LPAR RPAR SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} - | setTimerStateBegin SEMICOLON:q {: + | setTimerStateBegin:b SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} ; @@ -1194,7 +1222,7 @@ setTimerStateBegin ::= STATE:z IDENT:id COLON AVSETTIMERSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXSETTIMERSTATE); theState.setLeft(zxright); @@ -1205,10 +1233,12 @@ resetTimerState ::= resetTimerStateBegin EQUAL AVRESETTIMERSTATE_T LPAR requestParam RPAR SEMICOLON:q {: theState.setRight(qxright); :} - | resetTimerStateBegin EQUAL AVRESETTIMERSTATE_T LPAR RPAR SEMICOLON:q {: + | resetTimerStateBegin:b EQUAL AVRESETTIMERSTATE_T LPAR RPAR SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} - | resetTimerStateBegin SEMICOLON:q {: + | resetTimerStateBegin:b SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} ; @@ -1217,7 +1247,7 @@ resetTimerStateBegin ::= STATE:z IDENT:id COLON AVRESETTIMERSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXRESETTIMERSTATE); theState.setLeft(zxright); @@ -1228,10 +1258,12 @@ expireTimerState ::= expireTimerStateBegin EQUAL AVEXPIRETIMERSTATE_T LPAR requestParam RPAR SEMICOLON:q {: theState.setRight(qxright); :} - | expireTimerStateBegin EQUAL AVEXPIRETIMERSTATE_T LPAR RPAR SEMICOLON:q {: + | expireTimerStateBegin:b EQUAL AVEXPIRETIMERSTATE_T LPAR RPAR SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} - | expireTimerStateBegin SEMICOLON:q {: + | expireTimerStateBegin:b SEMICOLON:q {: + tryTrivialRequest(bxleft, qxright); theState.setRight(qxright); :} ; @@ -1240,7 +1272,7 @@ expireTimerStateBegin ::= STATE:z IDENT:id COLON AVEXPIRETIMERSTATE_T {: if (! theState.declare() ) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.HIGHERROR, zxleft, "State " + id.getAvatarName() + " is already declared", theState.getLeft()) ); - requestIndex = -1; + requestIndex = 0; } else { theState.setType(AvatarFromSysMLSyntax.STXEXPIRETIMERSTATE); theState.setLeft(zxright); @@ -1255,29 +1287,31 @@ poolParam ::= | POOL_F EQUAL request ; requestParam ::= REQUEST_F EQUAL request; -requestList ::= request | request COMMA requestList; +requestList ::= dummy request | dummy request COMMA requestList; +dummy ::= {: + getTransition(requestIndex); + if (theTransition.isRequested()) { + addError( new AvatarFromSysMLError( + AvatarFromSysMLError.LOWERROR, + lexer.getLocation(), + "Transition " + requestIndex + " is already requested", + theTransition.getRleft()) ); + okRequest = false; + } else { + theTransition.setRequested(true); + okRequest = true; + } +:}; request ::= - IF:i iexpr:e QUEST simpleRequest:q ELSE NOKREQUEST_U LPAR INT:n RPAR {: - if ( requestIndex >= 0) { - if (n != requestIndex + 1) { + dummy IF:i iexpr:e QUEST simpleRequest:q ELSE NOKREQUEST_U LPAR INT:n RPAR {: + if (n != requestIndex + 1) { addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, nxleft, " request index must be the request range in the request list (beginning at 1)", null) ); - } - getTransition(requestIndex); - theTransition.setGuard(e); - theTransition.setRleft(ixleft); - theTransition.setRright(qxright); - requestIndex++; } + requestIndex++; :} - | simpleRequest:i {: - if ( requestIndex >= 0) { - getTransition(requestIndex); - theTransition.setRleft(ixleft); - theTransition.setRright(ixright); - requestIndex++; - } -:}; + | dummy simpleRequest:i {: requestIndex++; :} +; simpleRequest ::= trivialRequest | sendRequest | receiveRequest | setTimerRequest | resetTimerRequest | expireTimerRequest; @@ -1287,44 +1321,44 @@ trivialRequest ::= addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, ixleft, " immediate request has index 1 and thus can only be used as first request", null) ); } - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); :} | trivialRequestBegin requestArgs RPAR ; trivialRequestBegin ::= TRIVIALREQUEST_T LPAR {: - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXTRIVIALTRANSITION); clearRequestArgs(); :}; sendRequest ::= sendRequestBegin requestArgs RPAR; sendRequestBegin ::= SENDREQUEST_T LPAR {: - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXSENDTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXSENDTRANSITION); clearRequestArgs(); :}; receiveRequest ::= receiveRequestBegin requestArgs RPAR; receiveRequestBegin ::= RECEIVEREQUEST_T LPAR {: - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXRECEIVETRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXRECEIVETRANSITION); clearRequestArgs(); :}; setTimerRequest ::= setTimerRequestBegin requestArgs RPAR; setTimerRequestBegin ::= SETTIMERREQUEST_T LPAR {: - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXSETTIMERTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXSETTIMERTRANSITION); clearRequestArgs(); :}; resetTimerRequest ::= resetTimerRequestBegin requestArgs RPAR; resetTimerRequestBegin ::= RESETTIMERREQUEST_T LPAR {: - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION); clearRequestArgs(); :}; expireTimerRequest ::= expireTimerRequestBegin requestArgs RPAR; expireTimerRequestBegin ::= EXPIRETIMERREQUEST_T LPAR {: - getTransition(requestIndex); - theTransition.setType(AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION); + if (okRequest) + theTransition.setType(AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION); clearRequestArgs(); :}; @@ -1351,12 +1385,12 @@ delayKeyword ::= DELAY_F:d {: } :}; delayExpr ::= - iexpr:e {: if (argOK) theTransition.setMinDelay(e); :} + iexpr:e {: if (argOK && okRequest) theTransition.setMinDelay(e); :} | delayRandomExpr ; delayRandomExpr ::= BOUNDRANDOM_U LPAR iexpr:i COMMA iexpr:a RPAR {: - if(argOK) { + if(argOK && okRequest) { theTransition.setMinDelay(i); theTransition.setMaxDelay(a); } @@ -1368,7 +1402,7 @@ payloadParam ::= if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for send transitions", null)); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; :} @@ -1377,7 +1411,7 @@ payloadParam ::= if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for send transitions", null)); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; :} @@ -1386,7 +1420,7 @@ payloadParam ::= if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for send transitions", null)); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; :} @@ -1396,7 +1430,7 @@ payloadParam ::= addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for set-timer transitions", null)); argList.add(e); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; :} @@ -1405,7 +1439,7 @@ payloadParam ::= if (theTransition.getType() != AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, bxleft, "such payload is only relevant for reset-timer transitions", null)); - theTransition.setSendPayload(argList); + if (okRequest) theTransition.setSendPayload(argList); } argList = null; :} @@ -1426,12 +1460,14 @@ channelParam ::= CHANNEL_F:c EQUAL IDENT:id {: if (channelArg != null) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "channel parameter has already been set", channelArg)); else { - theTransition.setSignalName(theBlock.getName(), id.getAvatarName()); if (theTransition.getType() != AvatarFromSysMLSyntax.STXSENDTRANSITION && theTransition.getType() != AvatarFromSysMLSyntax.STXRECEIVETRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "such channel is only relevant for send or receive transitions", null)); - commTransitions.add(theTransition); + if (okRequest) { + theTransition.setSignalName(theBlock.getName(), id.getAvatarName()); + commTransitions.add(theTransition); + } channelArg = cxleft; } :}; @@ -1443,7 +1479,7 @@ settimerParam ::= CHANNEL_F:c EQUAL IDENT:id POINT SET_TM {: if (theTransition.getType() != AvatarFromSysMLSyntax.STXSETTIMERTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "such channel is only relevant for set-timer transitions", null)); - theTransition.setTimer(id.getAvatarName()); + if (okRequest) theTransition.setTimer(id.getAvatarName()); settimerArg = cxleft; } :}; @@ -1454,7 +1490,7 @@ resettimerParam ::= CHANNEL_F:c EQUAL IDENT:id POINT RESET_TM {: if (theTransition.getType() != AvatarFromSysMLSyntax.STXRESETTIMERTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "such channel is only relevant for reset-timer transitions", null)); - theTransition.setTimer(id.getAvatarName()); + if (okRequest) theTransition.setTimer(id.getAvatarName()); resettimerArg = cxleft; } :}; @@ -1465,7 +1501,7 @@ expiretimerParam ::= CHANNEL_F:c EQUAL IDENT:id POINT EXPIRE_TM {: if (theTransition.getType() != AvatarFromSysMLSyntax.STXEXPIRETIMERTRANSITION) addError(new AvatarFromSysMLError(AvatarFromSysMLError.LOWWARNING, cxleft, "such channel is only relevant for expire-timer transitions", null)); - theTransition.setTimer(id.getAvatarName()); + if (okRequest) theTransition.setTimer(id.getAvatarName()); expiretimerArg = cxleft; } :}; diff --git a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jflex b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jflex index 5c052efb89c757ee2e6749ff09ccaa1488a59a23..7dc728076731bfecf0ab202dd55e9720ca39de85 100644 --- a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jflex +++ b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jflex @@ -38,6 +38,7 @@ import avatartranslator.tosysmlv2.AvatarFromSysMLSyntax.*; Location errorLocation; public void setErrorLocation(Location _errorLocation) { errorLocation = _errorLocation; } public Location getErrorLocation() { return errorLocation; } + public Location getLocation() { return new Location(yyline, yycolums); } %} %init{ errorLocation = null;