Ejemplo n.º 1
0
        public ProvStartTU_RX(MGRX.ProvStartNode start_node)
        {
            // copy pasta'd from base()

            preCH primStepsLHS = null;

            if (start_node.rootIsSG)
            {
                root_SG_edge = new Root_SG_EdgeTU(start_node.startSG);
                rootIsSG     = true;
                primStepsLHS = root_SG_edge.preCH_out;
            }
            else
            {
                var dummy_root_CH = new TypedSingleCH <int>();
                dummy_Suigen = new OP_SuiGen <int>(dummy_root_CH, (_) => new [] { 1 });
                root_FunCall = new FunCallTU_RX(new adapter_preCH(dummy_root_CH), (MGRX.FunCallNodeRX)start_node.startFuncall);
                rootIsSG     = false;
                primStepsLHS = root_FunCall.preCH_out;
            }
            var   L             = new List <PrimitveStepTU>();
            preCH current_preCH = primStepsLHS;

            foreach (var prim_step in start_node.primSteps)
            {
                var TU = new PrimitveStepTU_RX(current_preCH, prim_step);
                L.Add(TU);
                current_preCH = TU.preCH_out;
            }
            subsequent_Steps = L.ToArray();
        }
Ejemplo n.º 2
0
        public TestTR(TestMG1.MemA_andOptAssign startNode, preCH pre_LHS)
        {
            test_start_node = startNode;
            this.pre_LHS    = pre_LHS;
            memaTR          = new MemA_VBXTU(pre_LHS, startNode.memavt_node);

            assignTR = startNode.assignvt_node == null ? null : new Assign_VBXTU(memaTR.preCH_out, startNode.assignvt_node);
        }
Ejemplo n.º 3
0
        public TestStartRXTU(TMP_RX_Grammar.TestStartRXNode startNode)
        {
            preCH root_preCH = SG_Step_preCH_OUT(startNode.sgEdgeNode);
            var   FEs        = new List <FanElemRX_TU>();

            preCH lhs_preCH = root_preCH;

            foreach (var FE_Node in startNode.fanNodes)
            {
                var FE_TU = new FanElemRX_TU(FE_Node, lhs_preCH); FEs.Add(FE_TU); lhs_preCH = FE_TU.preCH_out;
            }
            FanElemTUs = FEs.ToArray();
        }