protected Lexer(Lexer parent, LineEnumerator lineEnumerator, Language language) { this.parent = parent; LineEnumerator = lineEnumerator; Language = language; //TODO: Should probably unsubscribe to event at some point Language.LanguageChanged += ChangeLanguage; SetupRegex(); }
public BackgroundLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language) : base(parent, lineEnumerator, language) { this.listener = listener; children = new Lexer[] { new CommentLexer(this, lineEnumerator, listener, language), new StepLexer(this, lineEnumerator, listener, language), }; }
public void scan(TextReader toTextReader) { var lineEnumerator = new LineEnumerator(toTextReader); Lexer s = new StartLexer(null, lineEnumerator, listener, new Language()); lineEnumerator.MoveToNext(); s.Parse(); if ((lineEnumerator.HasMore || (string.IsNullOrEmpty(lineEnumerator.Current.Text) == false))) throw new LexerError(new ParsedLine(lineEnumerator.Current.Text, "", lineEnumerator.Current.Line)); listener.Eof(); }
public ExampleLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language) : base(parent, lineEnumerator, language) { this.listener = listener; children = new Lexer[] { new RowLexer(this, lineEnumerator, listener, language), new CommentLexer(this, lineEnumerator, listener, language), new UriLexer(this, lineEnumerator, listener, language) }; }
public StartLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language) : base(parent, lineEnumerator, language) { children = new Lexer[] { new FeatureLexer(this, lineEnumerator, listener, language), new TagLexer(this, lineEnumerator, listener, language), new CommentLexer(this, lineEnumerator, listener, language), new ScenarioLexer(this, lineEnumerator, listener, language), }; }
public ScenarioLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language) : base(parent, lineEnumerator, language) { Listener = listener; children = new Lexer[] { new StepLexer(this, lineEnumerator, listener, language), new ExampleLexer(this, lineEnumerator, listener, language), new CommentLexer(this, lineEnumerator, listener, language) }; }
public FeatureLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language) : base(parent, lineEnumerator, language) { this.listener = listener; children = new Lexer[] { new ScenarioLexer(this, lineEnumerator, listener, language), new CommentLexer(this, lineEnumerator, listener, language), new ScenarioOutlineLexer(this, lineEnumerator, listener, language), new BackgroundLexer(this, lineEnumerator, listener, language), new TagLexer(this, lineEnumerator, listener, language), }; }
public CommentLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language) : base(parent, lineEnumerator, language) { this.listener = listener; }
public void Initialize() { lineEnumerator = new LineEnumerator(new[] { new ParsedLine("a", "\n", 2), new ParsedLine("b", "\n", 3), new ParsedLine("c", "\n", 5), }); }
public ScenarioOutlineLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language) : base(parent, lineEnumerator, listener, language) { }
public UriLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language) : base(parent, lineEnumerator, listener, language) { }