Ejemplo n.º 1
0
        public StylesheetTask Process(StylesheetTask input)
        {
            QLSParser parser  = SetupParser(input.StylesheetText);
            var       visitor = new ParseTreeVisitor();

            input.Ast = visitor.Visit(parser.stylesheet());
            return(input);
        }
Ejemplo n.º 2
0
        public ParsingTask Process(ParsingTask input)
        {
            if (string.IsNullOrEmpty(input.ParsingInput))
            {
                input.Errors.Add("Input string is empty");
                _canContinue = false;
                return(input);
            }

            QLParser parser        = SetupParser(input.ParsingInput);
            var      errorListener = new ErrorListener();

            parser.AddErrorListener(errorListener);

            var visitor = new ParseTreeVisitor(new OperatorFactory(new ValueFactory()));

            input.Ast = visitor.Visit(parser.form());
            errorListener.Errors.ForEach(x => input.Errors.Add(x));
            _canContinue = !errorListener.Errors.Any();

            return(input);
        }
Ejemplo n.º 3
0
 /// <summary>Accepts a <paramref name="visitor"/> which can be used to generate output from the parse tree.</summary>
 /// <param name="visitor">The visitor used to traverse the parse tree.</param>
 /// <exception cref="System.NullReferenceException">Thrown when <paramref name="visitor"/> is <c>null</c>.</exception>
 public override void Accept(ParseTreeVisitor visitor)
 => visitor.Visit(this);