  // hacked loader for the action grammar.
  public void load() 
  {
    Transition aTransition;

    // Just hard code this for now.
    states.add(new State("start", false, false));
    startState = 0;
    states.add(new State("agent", false, true));       
    states.add(new State("process", true, true));      
    states.add(new State("patient", true, true));      
    states.add(new State("instrument", true, true));   
    states.add(new State("source", true, true));   
    states.add(new State("destination", true, true));   
    states.add(new State("location", true, true));   

    aTransition = new Transition(indexOf("start"), indexOf("agent"), "noun");
    aTransition.addOperation(Transition.START_EQ_WORKING);
    aTransition.addOperation(Transition.HEAD_EQ_CURRENT);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("start"), indexOf("process"), "verb");
    aTransition.addOperation(Transition.START_EQ_WORKING);
    aTransition.addOperation(Transition.HEAD_EQ_CURRENT);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("agent"), indexOf("process"), "verb");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.HEAD_EQ_CURRENT);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("process"), indexOf("patient"), "noun");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.HEAD_EQ_CURRENT);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("process"), indexOf("instrument"), "\"using\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("process"), indexOf("location"), "\"at\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("process"), indexOf("source"), "\"from\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("process"), indexOf("destination"), "\"to\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("patient"), indexOf("instrument"), "\"using\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("patient"), indexOf("location"), "\"at\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("patient"), indexOf("source"), "\"from\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("patient"), indexOf("destination"), "\"to\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("instrument"), indexOf("location"), "\"at\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("instrument"), indexOf("source"), "\"from\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("instrument"), indexOf("destination"), "\"to\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("location"), indexOf("instrument"), "\"using\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("location"), indexOf("source"), "\"from\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("location"), indexOf("destination"), "\"to\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("source"), indexOf("instrument"), "\"using\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("source"), indexOf("location"), "\"at\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("source"), indexOf("destination"), "\"to\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("destination"), indexOf("instrument"), "\"using\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("destination"), indexOf("location"), "\"at\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("destination"), indexOf("source"), "\"from\"");
    aTransition.addOperation(Transition.END_EQ_CURRENT_MINUS_1);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("start"), indexOf("agent"), "unknown");
    aTransition.addOperation(Transition.START_EQ_WORKING);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("instrument"), indexOf("instrument"), "noun");
    aTransition.addOperation(Transition.START_EQ_WORKING);
    aTransition.addOperation(Transition.HEAD_EQ_CURRENT);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("location"), indexOf("location"), "noun");
    aTransition.addOperation(Transition.START_EQ_WORKING);
    aTransition.addOperation(Transition.HEAD_EQ_CURRENT);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("source"), indexOf("source"), "noun");
    aTransition.addOperation(Transition.START_EQ_WORKING);
    aTransition.addOperation(Transition.HEAD_EQ_CURRENT);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("destination"), indexOf("destination"), "noun");
    aTransition.addOperation(Transition.START_EQ_CURRENT);
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    aTransition.addOperation(Transition.WORKING_EQ_START);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("agent"), indexOf("agent"), "unknown");
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("process"), indexOf("process"), "unknown");
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("patient"), indexOf("patient"), "unknown");
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("instrument"), indexOf("instrument"), "unknown");
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("location"), indexOf("location"), "unknown");
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("source"), indexOf("source"), "unknown");
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);
    aTransition = new Transition(indexOf("destination"), indexOf("destination"), "unknown");
    aTransition.addOperation(Transition.INCREMENT_CURRENT);
    transitions.add(aTransition);

    return;
  }
   
