Skip to content
Snippets Groups Projects
Avatar2SysMLParser.java 30.16 KiB

//----------------------------------------------------
// The following code was generated by CUP v0.11b 20210814 (GIT d69c832)
//----------------------------------------------------

package avatartranslator.tosysmlv2;

import java_cup.runtime.*;
import  static avatartranslator.tosysmlv2.Avatar2SysMLNames.*;
import java_cup.runtime.XMLElement;

/** CUP v0.11b 20210814 (GIT d69c832) generated parser.
  */
@SuppressWarnings("unused")
public class Avatar2SysMLParser extends java_cup.runtime.lr_parser {

 @Override
 public final Class<?> getSymbolContainer() {
    return Avatar2SysMLSymbols.class;
}

  /** Default constructor. */
  @Deprecated
  public Avatar2SysMLParser() {super();}

  /** Constructor which sets the default scanner. */
  @Deprecated
  public Avatar2SysMLParser(java_cup.runtime.Scanner s) {super(s);}

  /** Constructor which sets the default scanner. */
  public Avatar2SysMLParser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}

  /** Production table. */
  protected static final short _production_table[][] = 
    unpackFromStrings(new String[] {
    "\000\027\000\002\002\005\000\002\002\004\000\002\002" +
    "\005\000\002\002\005\000\002\002\005\000\002\002\005" +
    "\000\002\002\004\000\002\002\005\000\002\002\005\000" +
    "\002\002\004\000\002\002\005\000\002\002\005\000\002" +
    "\002\005\000\002\002\005\000\002\002\005\000\002\002" +
    "\005\000\002\002\005\000\002\002\005\000\002\002\006" +
    "\000\002\002\003\000\002\002\003\000\002\003\003\000" +
    "\002\003\005" });

  /** Access to production table. */
  @Override
  public short[][] production_table() {return _production_table;}

  /** Parse-action table. */
  protected static final short[][] _action_table = 
    unpackFromStrings(new String[] {
    "\000\055\000\014\005\007\021\005\022\006\026\010\027" +
    "\004\001\002\000\042\002\uffee\004\uffee\005\uffee\006\uffee" +
    "\007\uffee\010\uffee\011\uffee\012\uffee\013\uffee\014\uffee\015" +
    "\uffee\016\uffee\017\uffee\020\uffee\023\uffee\025\uffee\001\002" +
    "\000\014\005\007\021\005\022\006\026\010\027\004\001" +
    "\002\000\014\005\007\021\005\022\006\026\010\027\004" +
    "\001\002\000\014\005\007\021\005\022\006\026\010\027" +
    "\004\001\002\000\044\002\uffed\004\uffed\005\uffed\006\uffed" +
    "\007\uffed\010\uffed\011\uffed\012\uffed\013\uffed\014\uffed\015" +
    "\uffed\016\uffed\017\uffed\020\uffed\022\045\023\uffed\025\uffed" +
    "\001\002\000\036\002\020\004\017\005\012\006\014\007" +
    "\022\010\015\011\013\012\026\013\021\014\016\015\025" +
    "\016\023\017\027\020\024\001\002\000\014\005\007\021" +
    "\005\022\006\026\010\027\004\001\002\000\014\005\007" +
    "\021\005\022\006\026\010\027\004\001\002\000\014\005" +
    "\007\021\005\022\006\026\010\027\004\001\002\000\014" +
    "\005\007\021\005\022\006\026\010\027\004\001\002\000" +
    "\014\005\007\021\005\022\006\026\010\027\004\001\002" +
    "\000\014\005\007\021\005\022\006\026\010\027\004\001" +
    "\002\000\004\002\000\001\002\000\014\005\007\021\005" +
    "\022\006\026\010\027\004\001\002\000\014\005\007\021" +
    "\005\022\006\026\010\027\004\001\002\000\014\005\007" +
    "\021\005\022\006\026\010\027\004\001\002\000\014\005" +
    "\007\021\005\022\006\026\010\027\004\001\002\000\014" +
    "\005\007\021\005\022\006\026\010\027\004\001\002\000" +
    "\014\005\007\021\005\022\006\026\010\027\004\001\002" +
    "\000\014\005\007\021\005\022\006\026\010\027\004\001" +
    "\002\000\032\002\ufff5\004\017\005\012\006\014\007\022" +
    "\010\015\011\ufff5\012\ufff5\013\ufff5\014\ufff5\023\ufff5\025" +
    "\ufff5\001\002\000\042\002\ufffa\004\017\005\012\006\014" +
    "\007\022\010\015\011\013\012\ufffa\013\021\014\016\015" +
    "\025\016\023\017\027\020\024\023\ufffa\025\ufffa\001\002" +
    "\000\032\002\ufff7\004\017\005\012\006\014\007\022\010" +
    "\015\011\ufff7\012\ufff7\013\ufff7\014\ufff7\023\ufff7\025\ufff7" +
    "\001\002\000\032\002\ufff4\004\017\005\012\006\014\007" +
    "\022\010\015\011\ufff4\012\ufff4\013\ufff4\014\ufff4\023\ufff4" +
    "\025\ufff4\001\002\000\032\002\ufff6\004\017\005\012\006" +
    "\014\007\022\010\015\011\ufff6\012\ufff6\013\ufff6\014\ufff6" +
    "\023\ufff6\025\ufff6\001\002\000\042\002\ufffd\004\ufffd\005" +
    "\ufffd\006\ufffd\007\ufffd\010\ufffd\011\ufffd\012\ufffd\013\ufffd" +
    "\014\ufffd\015\ufffd\016\ufffd\017\ufffd\020\ufffd\023\ufffd\025" +
    "\ufffd\001\002\000\042\002\ufff3\004\017\005\012\006\014" +
    "\007\022\010\015\011\ufff3\012\ufff3\013\ufff3\014\ufff3\015" +
    "\025\016\023\017\027\020\024\023\ufff3\025\ufff3\001\002" +
    "\000\042\002\001\004\001\005\001\006\014\007\022\010" +
    "\015\011\001\012\001\013\001\014\001\015\001\016\001" +
    "\017\001\020\001\023\001\025\001\001\002\000\042\002" +
    "\ufff2\004\017\005\012\006\014\007\022\010\015\011\ufff2" +
    "\012\ufff2\013\ufff2\014\ufff2\015\025\016\023\017\027\020" +
    "\024\023\ufff2\025\ufff2\001\002\000\042\002\ufffc\004\ufffc" +
    "\005\ufffc\006\ufffc\007\ufffc\010\ufffc\011\ufffc\012\ufffc\013" +
    "\ufffc\014\ufffc\015\ufffc\016\ufffc\017\ufffc\020\ufffc\023\ufffc" +
    "\025\ufffc\001\002\000\042\002\ufffe\004\ufffe\005\ufffe\006" +
    "\ufffe\007\ufffe\010\ufffe\011\ufffe\012\ufffe\013\ufffe\014\ufffe" +
    "\015\ufffe\016\ufffe\017\ufffe\020\ufffe\023\ufffe\025\ufffe\001" +
    "\002\000\042\002\ufff9\004\017\005\012\006\014\007\022" +
    "\010\015\011\ufff9\012\ufff9\013\021\014\016\015\025\016" +
    "\023\017\027\020\024\023\ufff9\025\ufff9\001\002\000\042" +
    "\002\uffff\004\uffff\005\uffff\006\014\007\022\010\015\011" +
    "\uffff\012\uffff\013\uffff\014\uffff\015\uffff\016\uffff\017\uffff" +
    "\020\uffff\023\uffff\025\uffff\001\002\000\016\005\007\021" +
    "\005\022\006\023\050\026\010\027\004\001\002\000\004" +
    "\023\053\001\002\000\040\004\017\005\012\006\014\007" +
    "\022\010\015\011\013\012\026\013\021\014\016\015\025" +
    "\016\023\017\027\020\024\023\uffec\025\051\001\002\000" +
    "\042\002\ufff0\004\ufff0\005\ufff0\006\ufff0\007\ufff0\010\ufff0" +
    "\011\ufff0\012\ufff0\013\ufff0\014\ufff0\015\ufff0\016\ufff0\017" +
    "\ufff0\020\ufff0\023\ufff0\025\ufff0\001\002\000\014\005\007" +
    "\021\005\022\006\026\010\027\004\001\002\000\004\023" +
    "\uffeb\001\002\000\042\002\uffef\004\uffef\005\uffef\006\uffef" +
    "\007\uffef\010\uffef\011\uffef\012\uffef\013\uffef\014\uffef\015" +
    "\uffef\016\uffef\017\uffef\020\uffef\023\uffef\025\uffef\001\002" +
    "\000\042\002\ufffb\004\ufffb\005\ufffb\006\ufffb\007\ufffb\010" +
    "\ufffb\011\ufffb\012\ufffb\013\ufffb\014\ufffb\015\ufffb\016\ufffb" +
    "\017\ufffb\020\ufffb\023\ufffb\025\ufffb\001\002\000\036\004" +
    "\017\005\012\006\014\007\022\010\015\011\013\012\026" +
    "\013\021\014\016\015\025\016\023\017\027\020\024\023" +
    "\056\001\002\000\042\002\ufff1\004\ufff1\005\ufff1\006\ufff1" +
    "\007\ufff1\010\ufff1\011\ufff1\012\ufff1\013\ufff1\014\ufff1\015" +
    "\ufff1\016\ufff1\017\ufff1\020\ufff1\023\ufff1\025\ufff1\001\002" +
    "\000\042\002\ufff8\004\017\005\012\006\014\007\022\010" +
    "\015\011\ufff8\012\ufff8\013\021\014\016\015\025\016\023" +
    "\017\027\020\024\023\ufff8\025\ufff8\001\002" });

  /** Access to parse-action table. */
  @Override
  public short[][] action_table() {return _action_table;}

  /** <code>reduce_goto</code> table. */
  protected static final short[][] _reduce_table = 
    unpackFromStrings(new String[] {
    "\000\055\000\004\002\010\001\001\000\002\001\001\000" +
    "\004\002\056\001\001\000\004\002\054\001\001\000\004" +
    "\002\053\001\001\000\002\001\001\000\002\001\001\000" +
    "\004\002\043\001\001\000\004\002\042\001\001\000\004" +
    "\002\041\001\001\000\004\002\040\001\001\000\004\002" +
    "\037\001\001\000\004\002\036\001\001\000\002\001\001" +
    "\000\004\002\035\001\001\000\004\002\034\001\001\000" +
    "\004\002\033\001\001\000\004\002\032\001\001\000\004" +
    "\002\031\001\001\000\004\002\030\001\001\000\004\002" +
    "\027\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\002\046\003\045\001\001\000\002" +
    "\001\001\000\002\001\001\000\002\001\001\000\006\002" +
    "\046\003\051\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
  public short[][] reduce_table() {return _reduce_table;}

  /** Instance of action encapsulation class. */
  protected CUP$Avatar2SysMLParser$actions action_obj;

  /** Action encapsulation object initializer. */
  @Override
  protected void init_actions()
    {
      action_obj = new CUP$Avatar2SysMLParser$actions(this);
    }

  /** Invoke a user supplied parse action. */
  @Override
  public java_cup.runtime.Symbol do_action(
    int                        act_num,
    java_cup.runtime.lr_parser parser,
    java.util.Stack<java_cup.runtime.Symbol>    stack,
    int                        top)
    throws java.lang.Exception
  {
    /* call code in generated class */
    return action_obj.CUP$Avatar2SysMLParser$do_action(act_num, parser, stack, top);
  }

  /** Indicates start state. */
  @Override
  public int start_state() {return 0;}
  /** Indicates start production. */
  @Override
  public int start_production() {return 1;}

  /** <code>EOF</code> Symbol index. */
  @Override
  public int EOF_sym() {return 0;}

  /** <code>error</code> Symbol index. */
  @Override
  public int error_sym() {return 1;}





/** Cup generated class to encapsulate user supplied action code.*/
class CUP$Avatar2SysMLParser$actions {
  private final Avatar2SysMLParser parser;

  /** Constructor */
  CUP$Avatar2SysMLParser$actions(Avatar2SysMLParser parser) {
    this.parser = parser;
  }

  /** Method 0 with the actual generated action code for actions 0 to 300. */
  public final java_cup.runtime.Symbol CUP$Avatar2SysMLParser$do_action_part00000000(
    int                        CUP$Avatar2SysMLParser$act_num,
    java_cup.runtime.lr_parser CUP$Avatar2SysMLParser$parser,
    java.util.Stack<java_cup.runtime.Symbol>    CUP$Avatar2SysMLParser$stack,
    int                        CUP$Avatar2SysMLParser$top)
    throws java.lang.Exception
    {
      /* Symbol object for return from actions */
      java_cup.runtime.Symbol CUP$Avatar2SysMLParser$result;

      /* select the action based on the action number */
      switch (CUP$Avatar2SysMLParser$act_num)
        {
          /*. . . . . . . . . . . . . . . . . . . .*/
          case 0: // expr ::= expr PLUS expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " + " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 1: // $START ::= expr EOF 
            {
              Object RESULT =null;
		int start_valleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1)).left;
		int start_valright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1)).right;
		String start_val = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1).<String>value();
		RESULT = start_val;
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("$START",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          /* ACCEPT */
          CUP$Avatar2SysMLParser$parser.done_parsing();
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 2: // expr ::= expr MINUS expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " - " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 3: // expr ::= expr MULT expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " * " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 4: // expr ::= expr DIV expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " / " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 5: // expr ::= expr MOD expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " % " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 6: // expr ::= MINUS expr 
            {
              String RESULT =null;
		int eleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int eright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String e = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = "-" + e; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 7: // expr ::= expr OR expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " or " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 8: // expr ::= expr AND expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " and " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 9: // expr ::= NOT expr 
            {
              String RESULT =null;
		int eleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int eright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String e = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = "not " + e; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 10: // expr ::= expr LT expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " < " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 11: // expr ::= expr GT expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " > " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 12: // expr ::= expr LEQ expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " <= " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 13: // expr ::= expr GEQ expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " >= " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 14: // expr ::= expr EQ expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " == " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 15: // expr ::= expr DIF expr 
            {
              String RESULT =null;
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int rleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int rright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String r = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = l + " != " + r; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 16: // expr ::= LPAR expr RPAR 
            {
              String RESULT =null;
		int eleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1)).left;
		int eright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1)).right;
		String e = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1).<String>value();
		 RESULT = "(" + e + ")"; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 17: // expr ::= IDENT LPAR RPAR 
            {
              String RESULT =null;
		int ileft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int iright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String i = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		 RESULT = i + "()"; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 18: // expr ::= IDENT LPAR exprlist RPAR 
            {
              String RESULT =null;
		int ileft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-3)).left;
		int iright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-3)).right;
		String i = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-3).<String>value();
		int lleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1)).left;
		int lright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1)).right;
		String l = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-1).<String>value();
		 RESULT = methodSysMLname(i) + "(" + l + ")"; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-3), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 19: // expr ::= CONSTANT 
            {
              String RESULT =null;
		int eleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int eright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String e = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = e; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.peek(), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 20: // expr ::= IDENT 
            {
              String RESULT =null;
		int eleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int eright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String e = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = attributeSysMLname(e); 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("expr",0, CUP$Avatar2SysMLParser$stack.peek(), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 21: // exprlist ::= expr 
            {
              String RESULT =null;
		int eleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int eright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String e = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = e; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("exprlist",1, CUP$Avatar2SysMLParser$stack.peek(), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 22: // exprlist ::= expr COMMA exprlist 
            {
              String RESULT =null;
		int eleft = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).left;
		int eright = (CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2)).right;
		String e = CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2).<String>value();
		int lleft = (CUP$Avatar2SysMLParser$stack.peek()).left;
		int lright = (CUP$Avatar2SysMLParser$stack.peek()).right;
		String l = CUP$Avatar2SysMLParser$stack.peek().<String>value();
		 RESULT = e + ", " + l; 
              CUP$Avatar2SysMLParser$result = parser.getSymbolFactory().newSymbol("exprlist",1, CUP$Avatar2SysMLParser$stack.elementAt(CUP$Avatar2SysMLParser$top-2), CUP$Avatar2SysMLParser$stack.peek(), RESULT);
            }
          return CUP$Avatar2SysMLParser$result;

          /* . . . . . .*/
          default:
            throw new Exception(
               "Invalid action number "+CUP$Avatar2SysMLParser$act_num+"found in internal parse table");

        }
    } /* end of method */

  /** Method splitting the generated action code into several parts. */
  public final java_cup.runtime.Symbol CUP$Avatar2SysMLParser$do_action(
    int                        CUP$Avatar2SysMLParser$act_num,
    java_cup.runtime.lr_parser CUP$Avatar2SysMLParser$parser,
    java.util.Stack<java_cup.runtime.Symbol>     CUP$Avatar2SysMLParser$stack,
    int                        CUP$Avatar2SysMLParser$top)
    throws java.lang.Exception
    {
              return CUP$Avatar2SysMLParser$do_action_part00000000(
                               CUP$Avatar2SysMLParser$act_num,
                               CUP$Avatar2SysMLParser$parser,
                               CUP$Avatar2SysMLParser$stack,
                               CUP$Avatar2SysMLParser$top);
    }
}

}