/// <summary>Creates a new <see cref="PredictionTreeFollow"/> instance with the <paramref name="initialPaths"/>, and <paramref name="edgeNode"/> provided.</summary>
        /// <param name="initialPaths">The <see cref="PredictionTree"/> built from the analysis of the incoming paths to a rule which are in an initial deadlock for disambiguation upon the rule entering the <paramref name="edgeNode"/>.</param>
        /// <param name="edgeNode">The <see cref="PredictionTreeLeaf"/> which delineates the ambiguity.</param>
        internal PredictionTreeFollow(PredictionTree initialPaths, PredictionTreeLeaf edgeNode)
        {
            this.initialPaths = initialPaths;
            this.edgeNode     = edgeNode;

            /* *
             * Initial variations are used to deconstruct the incoming states
             * *
             * Necessary because certain commonality groupings yield similarities
             * that are only similar to the edgeNode, which means the transition
             * sets are identical.
             * *
             * ToDo: Verify this claim.
             * */
        }
Esempio n. 2
0
 public TerminalTailSource(PredictionTreeLeaf parent)
 {
     this.parent = parent;
 }
Esempio n. 3
0
 /// <summary>Creates a new <see cref="PredictionTreeLeafVeins"/> instance with the <paramref name="parent"/> provided.</summary>
 /// <param name="parent">The <see cref="PredictionTreeLeaf"/> from which the <see cref="PredictionTreeLeafVeins"/> is derived.</param>
 public PredictionTreeLeafVeins(PredictionTreeLeaf leaf, SyntacticalDFAState originalState, IOilexerGrammarProductionRuleEntry rule)
 {
     this.Leaf           = leaf;
     this.DFAOriginState = originalState;
     this.Rule           = rule;
 }
 public PredictionTreeFollowCaller(PredictionTreeLeaf followNode)
 {
     this.Node = followNode;
 }
 internal void PostConnect(PredictionTreeLeaf rootNode, PredictionTreeDFAdapter rootAdapter)
 {
     this.rootNode    = rootNode;
     this.rootAdapter = rootAdapter;
 }