public ENFA_Controller(ParserType parserType) { _parserType = parserType; switch (_parserType) { case ParserType.Regex: _factory = new ENFA_Regex_Factory(this); _tokenizer = Factory.GetTokenizer(); _parser = Factory.GetParser(); break; case ParserType.Grammar: _factory = new ENFA_Grammar_Factory(this); _tokenizer = Factory.GetTokenizer(); _parser = Factory.GetParser(); break; } _patternStart = new ENFA_PatternStart(this); _matchingType = MatchingType.LazyMatching; _inDebugMode = false; }
//A state can be a pattern end public ENFA_PatternEnd(ENFA_PatternStart patternStart, ENFA_Controller controller, string terminalName, StateType stateType) : base(controller, true, terminalName, null, stateType) { _patternStart = patternStart; _terminalName = terminalName; }
public override ENFA_PatternEnd CreatePatternEnd(ENFA_PatternStart patternStart, string terminalName, StateType stateType) { return(new ENFA_PatternEnd(patternStart, Controller, terminalName, stateType)); }
public abstract ENFA_PatternEnd CreatePatternEnd(ENFA_PatternStart patternStart, string terminalName, StateType stateType);