public SyntacticAnalysisCYK(GrammarFuzzy.Grammar grammar)
     : base(grammar, null, null)
 {
     List<Symbol> alphabet = new List<Symbol>();
     alphabet.AddRange(grammar.Variables);
     alphabet.AddRange(grammar.Terminals);
     this.Grammar = grammar;
     // NormalFormChomsky nfc = new NormalFormChomsky(grammar);
     this.GrammarChomsky = grammar;
 }
 public SyntacticAnalysisLR1(GrammarFuzzy.Grammar grammar, NormAbstract norm, ConormAbstract conorm)
     : base(grammar, norm, conorm)
 {
     CacheFirst = new Hashtable();
     Table = new Dictionary<State<Symbol>, Dictionary<Symbol, List<Operation>>>();
     //Rules = new List<RuleProductionState>();
     List<Symbol> alphabet = new List<Symbol>();
     alphabet.AddRange(grammar.Variables);
     alphabet.AddRange(grammar.Terminals);
     this.Grammar = grammar;
     GrammarLine = new GrammarFuzzy.Grammar();
     GrammarLine.Rules.AddRange(grammar.Rules);
     GrammarLine.Terminals.AddRange(grammar.Terminals);
     GrammarLine.Variables.AddRange(grammar.Variables);
     GrammarLine.VariablesEmpty.AddRange(grammar.VariablesEmpty);
     SymbolInitialLine = new Symbol(100, "S'", false);
     GrammarLine.Variables.Add(SymbolInitialLine);
     GrammarLine.AddRule(SymbolInitialLine, grammar.VariableStart);
     GrammarLine.VariableStart = SymbolInitialLine;
     Automa = new Automa<Symbol>(alphabet, Symbol.EmptySymbol);
     SymbolInitial = grammar.VariableStart;
     CreateAutoma();
     CreateTable();
 }