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));
        }
示例#2
0
        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);
        }