package osa.attribute.atgrammar.grammar;

import osa.attribute.atgrammar.grammar.symbols.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: </p>
 * <p>Company: </p>
 * @author not attributable
 * @version
 */

public class DerivationString
  extends SymbolsString
  {
  private Symbol current_symbol=null;
  private int current_index=0;

  private Grammar grammar_reference;

  public DerivationString(Grammar grammar_reference)
    {
    this.grammar_reference=grammar_reference;
    current_symbol=grammar_reference.getInitialSymbol();
    appendSymbol(current_symbol);
    }

  public void executeSybstitution(GrammarProduction production)
    {

    }

  public void evaluateString()
    {
    for(int i=0;i<length;i++)
       {

       switch(current_symbol.getType())
             {
             case Symbol.NON_TERMINAL_SYMBOL:
               break;
             case Symbol.TERMINAL_SYMBOL:
               break;
             case Symbol.OUTPUT_SYMBOL:
               break;
             }
    }
  }