public ITransformationSchema BuildTransformationSchema(string vtlSource) { AntlrInputStream input = new AntlrInputStream(vtlSource); VtlLexer lexer = new VtlLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); VtlParser parser = new VtlParser(tokens); VtlSyntaxErrorListener errListener = new VtlSyntaxErrorListener(); parser.RemoveErrorListeners(); parser.AddErrorListener(errListener); VtlParser.StartContext cst = parser.start(); foreach (VtlSyntaxError error in errListener.Errors) { this._logger?.LogError(error, error.Message); } return(this._transformer.TransformToSchema(cst)); }
/// <summary> /// Visit a parse tree produced by <see cref="VtlParser.start"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitStart([NotNull] VtlParser.StartContext context) { return(VisitChildren(context)); }