public GrammarModel() { _productions = new ObservableCollection<ProductionModel>(); _productions.CollectionChanged += CollectionChanged; _reachibilityMatrix = new ReachibilityMatrix(); _ignoreRules = new List<LexerRuleModel>(); }
public GrammarModel() { _productions = new ObservableCollection <ProductionModel>(); _productions.CollectionChanged += CollectionChanged; _reachibilityMatrix = new ReachibilityMatrix(); _ignoreRules = new List <LexerRuleModel>(); }
private void AssertStartProductionExistsForStartSymbol(ReachibilityMatrix reachibilityMatrix) { if (!reachibilityMatrix.ProudctionExistsForSymbol(Start.LeftHandSide)) { throw new Exception("no start production found for start symbol"); } }
private void AssertStartProductionexistsForStartSetting(ReachibilityMatrix reachibilityMatrix) { if (!reachibilityMatrix.ProudctionExistsForSymbol( new NonTerminalModel(StartSetting.Value))) { throw new Exception("no start production found for start symbol"); } }
public GrammarModel() { _reachibilityMatrix = new ReachibilityMatrix(); _productions = new ObservableCollection <ProductionModel>(); _productions.CollectionChanged += ProductionsCollectionChanged; _lexerRules = new List <LexerRuleModel>(); _ignoreSettings = new List <IgnoreSettingModel>(); _triviaSettings = new List <TriviaSettingModel>(); }
private void AssertStartProductionExistsForStartSymbol(ReachibilityMatrix reachibilityMatrix) { if (!reachibilityMatrix.ProudctionExistsForSymbol(Start.LeftHandSide)) throw new Exception("no start production found for start symbol"); }