public static QLSNode Parse(string style) { AntlrInputStream inputStream = new AntlrInputStream(style); QLSGrammarLexer QLSLexer = new QLSGrammarLexer(inputStream); CommonTokenStream commonTokenStream = new CommonTokenStream(QLSLexer); QLSGrammarParser QLSParser = new QLSGrammarParser(commonTokenStream); StylesheetContext context = QLSParser.stylesheet(); StylesheetVisitor visitor = new StylesheetVisitor(); return(visitor.VisitStylesheet(context)); }
private List <PageViewModel> CreatePaginatedFormFromStylesheet(IReadOnlyList <QuestionViewModel> questions) { var stylesheetTask = new StylesheetTask(_mainViewModel.StylesheetInput, _symbols); StylesheetTask processedStylesheet = _stylesheetPipeline.Process(stylesheetTask); if (processedStylesheet.Errors.Any()) { _mainViewModel.QuestionnaireValidation = processedStylesheet.Errors.Aggregate( $"Validation failed! There are {processedStylesheet.Errors.Count} error(s) in your questionnaire stylesheet.", (err, acc) => err + Environment.NewLine + acc); return(new List <PageViewModel>()); } var stylesheetVisitor = new StylesheetVisitor(questions); processedStylesheet.Ast.Accept(stylesheetVisitor); return(stylesheetVisitor.PageViewModels); }