public object VisitChoiceExecutionStrategy(KpLinguaParser.ChoiceExecutionStrategyContext context) { var executionStrategy = default(ExecutionStrategy); var ruleContext = context.rule(); if (ruleContext != null) { var rules = ruleContext.Select(r => r.Accept(this) as Rule).ToArray(); executionStrategy = new ExecutionStrategy(StrategyOperator.CHOICE, rules); } else { executionStrategy = new ExecutionStrategy(StrategyOperator.CHOICE); } return(executionStrategy); }
/// <summary> /// Visit a parse tree produced by <see cref="KpLinguaParser.choiceExecutionStrategy"/>. /// <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 VisitChoiceExecutionStrategy([NotNull] KpLinguaParser.ChoiceExecutionStrategyContext context) { return(VisitChildren(context)); }