static final public ValueExpression value_spec() throws ParseException {
                                Token tok; TupleExpression tup; VariableExpression var; ActorIdentifier actId;
    if (jj_2_12(4)) {
      tok = jj_consume_token(TUPLETAG);
                       tup = new TupleExpression(tok.image);
      jj_consume_token(LPAREN);
      if (jj_2_11(4)) {
        value_spec_list(tup.getElements());
      } else {
        ;
      }
      jj_consume_token(RPAREN);
                                                                                                                              {if (true) return tup;}
    } else if (jj_2_13(4)) {
      tok = jj_consume_token(VARIABLEIDENT);
                                {if (true) return new VariableExpression(tok.image);}
    } else if (jj_2_14(4)) {
      tok = jj_consume_token(ACTORIDENT);
                             {if (true) return new ActorIdentifier(tok.image);}
    } else if (jj_2_15(4)) {
      tok = jj_consume_token(NUMBER);
                         {if (true) return ValueExpression.intToTuple(Integer.parseInt(tok.image));}
    } else {
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
  }