static final private ArrayList<AbsValueNode> listArg() throws ParseException, CompilationException {
    Token t;
    ArrayList<AbsValueNode> result = new ArrayList<AbsValueNode>();
    ArrayList<AbsValueNode> value = new ArrayList<AbsValueNode>();
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case NUMBER:
      t = jj_consume_token(NUMBER);
      value = listArgRecurs();
                                          result.add(new NumberVNode(t.image,currentLine));
                                          result.addAll(value);
                                          {if (true) return result;}
      break;
    case TOKENWORD:
      t = jj_consume_token(TOKENWORD);
      value = listArgRecurs();
                                             result.add(new WordDataVNode(t.image,currentLine));
                                             result.addAll(value);
                                             {if (true) return result;}
      break;
    case NONEVALUATE:
      jj_consume_token(NONEVALUATE);
      t = jj_consume_token(TOKENWORD);
      value = listArgRecurs();
                                                                 result.add(new WordDataVNode(t.image,currentLine));
                                                                                result.addAll(value);
                                                                                {if (true) return result;}
      break;
    case ACCESSOP:
      jj_consume_token(ACCESSOP);
      t = jj_consume_token(TOKENWORD);
      value = listArgRecurs();
                                                          result.add(new ThingVNode(t.image,currentLine));
                                                                                result.addAll(value);
                                                                                {if (true) return result;}
      break;
    default:
      jj_la1[17] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
  }