Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* Generated By:JavaCC: Do not edit this line. mas2j.java */
  package jason.mas2j.parser;
  
  import java.util.*;
  import java.io.*;
  import jason.mas2j.*;
  import jason.asSyntax.*;
 
 public class mas2j implements mas2jConstants {
 
 
 
     // Run the parser
     public static void main (String args[]) {
 
       String name;
       mas2j parser;
       MAS2JProject project = new MAS2JProject();
 
       if (args.length == 0) {
                 ..println("mas2j: usage must be:");
                 ..println("      java mas2j <MASConfFile>");
                 ..println("Output to file build.xml");
         return;
       } else {
         name = args[0];
         ..println("mas2j: reading from file " + name + " ..." );
                 try {
                   parser = new mas2j(new java.io.FileInputStream(name));
                 } catch(java.io.FileNotFoundException e){
                   ..println("mas2j: file \"" + name + "\" not found.");
                   return;
         }
       }
 
       boolean debugmas = args.length >= 2 && args[1].equals("debug");
       boolean runmas   = debugmas || args.length >= 2 && args[1].equals("run");
 
       // parsing
       try {
                 project = parser.mas();
                 Config.get().fix();
                 File file = new File(name);
         File directory = file.getAbsoluteFile().getParentFile();
         project.setDirectory(directory.toString());
         project.setProjectFile(file);
                 ..println("mas2j: "+name+" parsed successfully!\n");
                 MASLauncherInfraTier launcher = project.getInfrastructureFactory().createMASLauncher();
                 launcher.setProject(project);
                 launcher.writeScripts(debugmas);
 
                 if (runmas) {
                     new Thread(launcher"MAS-Launcher").start();
                 } else {
                 ..println("To run your MAS, just type \"ant -f bin/build.xml\"");
             }
       } catch(Exception e){
                 ..println("mas2j: parsing errors found... \n" + e);
       }
     }
 
 /* Configuration Grammar */
   final public MAS2JProject mas() throws ParseException {
                                  Token soc;
     soc = jj_consume_token();
                                   = new MAS2JProject();
                                  .setSocName(soc.image);
     jj_consume_token(37);
     infra();
     environment();
     control();
     agents();
     directives();
     classpath();
     sourcepath();
     jj_consume_token(38);
                               {if (truereturn ;}
     throw new Error("Missing return statement in function");
   }
 
   final public void infra() throws ParseException {
                               ClassParameters infra;
     switch ((==-1)?jj_ntk():) {
     case :
       jj_consume_token();
       jj_consume_token(39);
       infra = classDef();
                               .setInfrastructure(infra);
       break;
     default:
       [0] = ;
       ;
     }
   }
 
  final public void agents() throws ParseException {
                              .initAgMap();
    switch ((==-1)?jj_ntk():) {
    case :
      jj_consume_token();
      jj_consume_token(39);
      label_1:
      while (true) {
        agent();
        switch ((==-1)?jj_ntk():) {
        case :
          ;
          break;
        default:
          [1] = ;
          break label_1;
        }
      }
      break;
    default:
      [2] = ;
      ;
    }
  }
  final public void agent() throws ParseException {
                              Token agName;
                              Token qtyToken value;
                              Token host;
                              AgentParameters ag = new AgentParameters();
                              Map opts;
                              ClassParameters arch;
    agName = jj_consume_token();
                              ag.name = agName.image;
                              ag.asSource = new File(agName.image+".asl");
    switch ((==-1)?jj_ntk():) {
    case :
    case :
      ag.asSource = fileName();
      break;
    default:
      [3] = ;
      ;
    }
    opts = ASoptions();
                             ag.setOptions(opts);
    label_2:
    while (true) {
      switch ((==-1)?jj_ntk():) {
      case :
      case :
      case :
      case :
      case 40:
        ;
        break;
      default:
        [4] = ;
        break label_2;
      }
      switch ((==-1)?jj_ntk():) {
      case :
        arch = classDef();
                             ag.insertArchClass(arch);
        break;
      case :
        jj_consume_token();
        ag.agClass = classDef();
        break;
      case :
        jj_consume_token();
        ag.bbClass = classDef();
        break;
      case 40:
        jj_consume_token(40);
        qty = jj_consume_token();
                            ag.qty = Integer.parseInt(qty.image);
        break;
      case :
        jj_consume_token();
        host = jj_consume_token();
                            ag.setHost(host.image);
        break;
      default:
        [5] = ;
        jj_consume_token(-1);
        throw new ParseException();
      }
    }
    jj_consume_token(41);
                              .addAgent(ag);
  }
  final public File fileName() throws ParseException {
                              String path = "";
                              Token t;
                              Token i;
                              Token e;
                              String ext = ".asl";
    switch ((==-1)?jj_ntk():) {
    case :
      t = jj_consume_token();
                              path = t.image;
      break;
    default:
      [6] = ;
      ;
    }
    i = jj_consume_token();
    switch ((==-1)?jj_ntk():) {
    case 42:
      jj_consume_token(42);
      e = jj_consume_token();
                              ext = "." + e.image;
      break;
    default:
      [7] = ;
      ;
    }
                              //if (!path.startsWith(File.separator)) {
                              //  path = destDir + path;
                              //}
                              {if (truereturn new Filepath + i.image + ext);}
    throw new Error("Missing return statement in function");
  }
  final public ClassParameters classDef() throws ParseException {
                                Token cString sClassParameters cp = new ClassParameters();
    switch ((==-1)?jj_ntk():) {
    case :
      c = jj_consume_token();
      break;
    case :
      c = jj_consume_token();
      break;
    default:
      [8] = ;
      jj_consume_token(-1);
      throw new ParseException();
    }
                                          cp.setClassName(c.image);
    label_3:
    while (true) {
      switch ((==-1)?jj_ntk():) {
      case 42:
        ;
        break;
      default:
        [9] = ;
        break label_3;
      }
      jj_consume_token(42);
      switch ((==-1)?jj_ntk():) {
      case :
        c = jj_consume_token();
        break;
      case :
        c = jj_consume_token();
        break;
      default:
        [10] = ;
        jj_consume_token(-1);
        throw new ParseException();
      }
                                          cp.setClassName(cp.getClassName() + "." + c.image);
    }
    switch ((==-1)?jj_ntk():) {
    case 43:
      jj_consume_token(43);
      switch ((==-1)?jj_ntk():) {
      case :
      case :
      case :
      case :
      case 46:
        s = parameter();
                                              cp.addParameter(s);
        label_4:
        while (true) {
          switch ((==-1)?jj_ntk():) {
          case 44:
            ;
            break;
          default:
            [11] = ;
            break label_4;
          }
          jj_consume_token(44);
          s = parameter();
                                              cp.addParameter(s);
        }
        break;
      default:
        [12] = ;
        ;
      }
      jj_consume_token(45);
      break;
    default:
      [13] = ;
      ;
    }
                             {if (truereturn cp;}
    throw new Error("Missing return statement in function");
  }
  final public String parameter() throws ParseException {
                             Token cString sClassParameters cp;
    switch ((==-1)?jj_ntk():) {
    case :
    case :
      cp = classDef();
                             {if (truereturn cp.toString();}
      break;
    case :
      c = jj_consume_token();
                             {if (truereturn c.image;}
      break;
    case :
      c = jj_consume_token();
                             {if (truereturn c.image;}
      break;
    case 46:
      s = listParameters();
                             {if (truereturn s;}
      break;
    default:
      [14] = ;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
  }
  final public String listParameters() throws ParseException {
                             String sList l = new ArrayList();
    jj_consume_token(46);
    s = parameter();
                                     l.add(s);
    label_5:
    while (true) {
      switch ((==-1)?jj_ntk():) {
      case 44:
        ;
        break;
      default:
        [15] = ;
        break label_5;
      }
      jj_consume_token(44);
      s = parameter();
                                     l.add(s);
    }
    jj_consume_token(47);
                                 {if (truereturn l.toString();}
    throw new Error("Missing return statement in function");
  }
  final public Map ASoptions() throws ParseException {
                                 Map opts = new HashMap();
    switch ((==-1)?jj_ntk():) {
    case 46:
      jj_consume_token(46);
      opts = procOption(opts);
      label_6:
      while (true) {
        switch ((==-1)?jj_ntk():) {
        case 44:
          ;
          break;
        default:
          [16] = ;
          break label_6;
        }
        jj_consume_token(44);
        opts = procOption(opts);
      }
      jj_consume_token(47);
      break;
    default:
      [17] = ;
      ;
    }
                                 {if (truereturn opts;}
    throw new Error("Missing return statement in function");
  }
  final public Map procOption(Map optsthrows ParseException {
                            Token optToken oval;
    switch ((==-1)?jj_ntk():) {
    case :
      opt = jj_consume_token();
      jj_consume_token(48);
      oval = jj_consume_token();
                                        opts.put(opt.image,oval.image);
      break;
    case :
      opt = jj_consume_token();
      jj_consume_token(48);
      oval = jj_consume_token();
                                        opts.put(opt.image,oval.image);
      break;
    case :
      opt = jj_consume_token();
      jj_consume_token(48);
      oval = jj_consume_token();
                                        opts.put(opt.image,oval.image);
      break;
    case :
      opt = jj_consume_token();
      jj_consume_token(48);
      oval = jj_consume_token();
                                        opts.put(opt.image,oval.image);
      break;
    case :
      opt = jj_consume_token();
      jj_consume_token(48);
      oval = jj_consume_token();
                                        opts.put(opt.image,oval.image);
      break;
    case :
      opt = jj_consume_token();
      jj_consume_token(48);
      switch ((==-1)?jj_ntk():) {
      case :
        oval = jj_consume_token();
        break;
      case :
        oval = jj_consume_token();
        break;
      case :
        oval = jj_consume_token();
        break;
      case :
        oval = jj_consume_token();
        break;
      default:
        [18] = ;
        jj_consume_token(-1);
        throw new ParseException();
      }
                                        opts.put(opt.image,oval.image);
      break;
    default:
      [19] = ;
      jj_consume_token(-1);
      throw new ParseException();
    }
                                         {if (truereturn opts;}
    throw new Error("Missing return statement in function");
  }
  final public void environment() throws ParseException {
                              Token host = nullClassParameters envClass = null;
    switch ((==-1)?jj_ntk():) {
    case :
      jj_consume_token();
      jj_consume_token(39);
      envClass = classDef();
      switch ((==-1)?jj_ntk():) {
      case :
        jj_consume_token();
        host = jj_consume_token();
        break;
      default:
        [20] = ;
        ;
      }
      break;
    default:
      [21] = ;
      ;
    }
                              .setEnvClass(envClass);
                              if (host != null) {
                                          envClass.setHost(host.image);
                                  }
  }
  final public void control() throws ParseException {
                              Token host =  null;
                              ClassParameters controlClass = null;
    switch ((==-1)?jj_ntk():) {
    case :
      jj_consume_token(39);
      controlClass = classDef();
      switch ((==-1)?jj_ntk():) {
      case :
        jj_consume_token();
        host = jj_consume_token();
        break;
      default:
        [22] = ;
        ;
      }
      break;
    default:
      [23] = ;
      ;
    }
                              .setControlClass(controlClass);
                              if (host != null) {
                                   controlClass.setHost(host.image);
                              }
  }
  final public void classpath() throws ParseException {
                              Token cp;
    switch ((==-1)?jj_ntk():) {
    case :
      jj_consume_token(39);
      label_7:
      while (true) {
        cp = jj_consume_token();
        jj_consume_token(41);
                              .addClassPath(cp.image);
        switch ((==-1)?jj_ntk():) {
        case :
          ;
          break;
        default:
          [24] = ;
          break label_7;
        }
      }
      break;
    default:
      [25] = ;
      ;
    }
  }
  final public void sourcepath() throws ParseException {
                              Token cp;
    switch ((==-1)?jj_ntk():) {
    case :
      jj_consume_token(39);
      label_8:
      while (true) {
        cp = jj_consume_token();
        jj_consume_token(41);
                              .addSourcePath(cp.image);
        switch ((==-1)?jj_ntk():) {
        case :
          ;
          break;
        default:
          [26] = ;
          break label_8;
        }
      }
      break;
    default:
      [27] = ;
      ;
    }
  }
  final public void directives() throws ParseException {
                               Token directiveIdClassParameters directiveClass = null;
    switch ((==-1)?jj_ntk():) {
    case :
      jj_consume_token(39);
      label_9:
      while (true) {
        directiveId = jj_consume_token();
        jj_consume_token(48);
        directiveClass = classDef();
        jj_consume_token(41);
                              .addDirectiveClass(directiveId.imagedirectiveClass);
        switch ((==-1)?jj_ntk():) {
        case :
          ;
          break;
        default:
          [28] = ;
          break label_9;
        }
      }
      break;
    default:
      [29] = ;
      ;
    }
  }
  public Token tokenjj_nt;
  private int jj_ntk;
  private int jj_gen;
  final private int[] jj_la1 = new int[30];
  static private int[] jj_la1_0;
  static private int[] jj_la1_1;
  static {
      jj_la1_0();
      jj_la1_1();
   }
   private static void jj_la1_0() {
       = new int[] {0x1000,0x20000000,0x100,0xa0000000,0x7000800,0x7000800,0x80000000,0x0,0x60000000,0x0,0x60000000,0x0,0x78000000,0x0,0x78000000,0x0,0x0,0x0,0x78000000,0x205a8000,0x800,0x200,0x800,0x400,0x10000000,0x2000,0x10000000,0x4000,0x20000000,0x200000,};
   }
   private static void jj_la1_1() {
       = new int[] {0x0,0x0,0x0,0x0,0x100,0x100,0x0,0x400,0x0,0x400,0x0,0x1000,0x4000,0x800,0x4000,0x1000,0x1000,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
   }
  public mas2j(java.io.InputStream stream) {
     this(streamnull);
  }
  public mas2j(java.io.InputStream streamString encoding) {
    try {  = new SimpleCharStream(streamencoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
     = new Token();
     = -1;
     = 0;
    for (int i = 0; i < 30; i++) [i] = -1;
  }
  public void ReInit(java.io.InputStream stream) {
     ReInit(streamnull);
  }
  public void ReInit(java.io.InputStream streamString encoding) {
    try { .ReInit(streamencoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
     = new Token();
     = -1;
     = 0;
    for (int i = 0; i < 30; i++) [i] = -1;
  }
  public mas2j(java.io.Reader stream) {
     = new SimpleCharStream(stream, 1, 1);
     = new Token();
     = -1;
     = 0;
    for (int i = 0; i < 30; i++) [i] = -1;
  }
  public void ReInit(java.io.Reader stream) {
    .ReInit(stream, 1, 1);
     = new Token();
     = -1;
     = 0;
    for (int i = 0; i < 30; i++) [i] = -1;
  }
  public mas2j(mas2jTokenManager tm) {
     = tm;
     = new Token();
     = -1;
     = 0;
    for (int i = 0; i < 30; i++) [i] = -1;
  }
  public void ReInit(mas2jTokenManager tm) {
     = tm;
     = new Token();
     = -1;
     = 0;
    for (int i = 0; i < 30; i++) [i] = -1;
  }
  final private Token jj_consume_token(int kindthrows ParseException {
    Token oldToken;
    if ((oldToken = ). != null = .;
    else  = . = .getNextToken();
     = -1;
    if (. == kind) {
      ++;
      return ;
    }
     = oldToken;
     = kind;
    throw generateParseException();
  }
  final public Token getNextToken() {
    if (. != null = .;
    else  = . = .getNextToken();
     = -1;
    ++;
    return ;
  }
  final public Token getToken(int index) {
    Token t = ;
    for (int i = 0; i < indexi++) {
      if (t.next != nullt = t.next;
      else t = t.next = .getNextToken();
    }
    return t;
  }
  final private int jj_ntk() {
    if ((=.) == null)
      return ( = (.=.getNextToken()).);
    else
      return ( = .);
  }
  private java.util.Vector jj_expentries = new java.util.Vector();
  private int[] jj_expentry;
  private int jj_kind = -1;
    boolean[] la1tokens = new boolean[49];
    for (int i = 0; i < 49; i++) {
      la1tokens[i] = false;
    }
    if ( >= 0) {
      la1tokens[] = true;
       = -1;
    }
    for (int i = 0; i < 30; i++) {
      if ([i] == ) {
        for (int j = 0; j < 32; j++) {
          if (([i] & (1<<j)) != 0) {
            la1tokens[j] = true;
          }
          if (([i] & (1<<j)) != 0) {
            la1tokens[32+j] = true;
          }
        }
      }
    }
    for (int i = 0; i < 49; i++) {
      if (la1tokens[i]) {
         = new int[1];
        [0] = i;
      }
    }
    int[][] exptokseq = new int[.size()][];
    for (int i = 0; i < .size(); i++) {
      exptokseq[i] = (int[]).elementAt(i);
    }
    return new ParseException(exptokseq);
  }
  final public void enable_tracing() {
  }
  final public void disable_tracing() {
  }
New to GrepCode? Check out our FAQ X