//список правил public Grammar(NotTerminal startSymbol, List<Terminal> terminals, List<NotTerminal> notTerminals) { StartSymbol = startSymbol; Terminals = terminals; NotTerminals = notTerminals; }
public void SetStart(NotTerminal nt) { StartSymbol = nt; }
public Rule(NotTerminal notTerminal) { Left = notTerminal; Right = new List<Symbol>(); }