Ejemplo n.º 1
0
 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();
 }
Ejemplo n.º 2
0
 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),
                    };
 }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
 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)
                    };
 }
Ejemplo n.º 5
0
 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),
                    };
 }
Ejemplo n.º 6
0
        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)
                           };
        }
Ejemplo n.º 7
0
 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),
                    };
 }
Ejemplo n.º 8
0
 public CommentLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language)
     : base(parent, lineEnumerator, language)
 {
     this.listener = listener;
 }
Ejemplo n.º 9
0
 public void Initialize()
 {
     lineEnumerator = new LineEnumerator(new[] { new ParsedLine("a", "\n", 2), new ParsedLine("b", "\n", 3), new ParsedLine("c", "\n", 5), });
 }
Ejemplo n.º 10
0
 public ScenarioOutlineLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language)
     : base(parent, lineEnumerator, listener, language)
 {
 }
Ejemplo n.º 11
0
 public UriLexer(Lexer parent, LineEnumerator lineEnumerator, IListener listener, Language language)
     : base(parent, lineEnumerator, listener, language)
 {
 }