public object VisitRuleSet(KpLinguaParser.RuleSetContext context) { var executionStrategyContexts = context.executionStrategy(); var executionStrategy = executionStrategyContexts.First().Accept(this) as ExecutionStrategy; var firstExecutionStrategy = executionStrategy; foreach (var executionStrategyContext in executionStrategyContexts.Skip(1)) { executionStrategy.Next = executionStrategyContext.Accept(this) as ExecutionStrategy; executionStrategy = executionStrategy.Next; } return(firstExecutionStrategy); }
/// <summary> /// Visit a parse tree produced by <see cref="KpLinguaParser.ruleSet"/>. /// <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 VisitRuleSet([NotNull] KpLinguaParser.RuleSetContext context) { return(VisitChildren(context)); }