public override object VisitTransitionDefinition(CdeltaParser.TransitionDefinitionContext context) { Transition transition = new Transition(null, null, null) { DesiredSourceState = context.IDENTIFIER(0).GetText(), DesiredTargetState = context.IDENTIFIER(1).GetText() }; ((Automaton)contextWithStructure[context.Parent]).Transitions.Add(transition); contextWithStructure.Add(context, transition); return(base.VisitTransitionDefinition(context)); }
public override IEnumerable <StructureBase> VisitTransitionDefinition(CdeltaParser.TransitionDefinitionContext context) { var result = new Transition(context.IDENTIFIER(0).GetText(), context.IDENTIFIER(1).GetText()); foreach (var child in base.VisitTransitionDefinition(context)) { if (child is TransitionEnter enter) { enter.Parent = result; result.Enter = enter; } } yield return(result); }
/// <summary> /// Exit a parse tree produced by <see cref="CdeltaParser.transitionDefinition"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitTransitionDefinition([NotNull] CdeltaParser.TransitionDefinitionContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="CdeltaParser.transitionDefinition"/>. /// <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 VisitTransitionDefinition([NotNull] CdeltaParser.TransitionDefinitionContext context) { return(VisitChildren(context)); }