Example #1
0
        private bool AnyStateFrameAccepted(StateFrameSet lastFrameSet)
        {
            var lastFrameSetFramesCount = lastFrameSet.Frames.Count;

            for (var i = 0; i < lastFrameSetFramesCount; i++)
            {
                var stateFrame             = lastFrameSet.Frames[i];
                var originIsFirstEarleySet = stateFrame.Origin == 0;
                if (!originIsFirstEarleySet)
                {
                    continue;
                }

                if (AnyPreComputedStateAccepted(stateFrame.Frame.Data))
                {
                    return(true);
                }
            }

            return(false);
        }
Example #2
0
 private bool IsLeoEligible(ISymbol symbol, StateFrameSet stateFrameSet)
 {
     return(stateFrameSet.IsLeoUnique(symbol) &&
            _preComputedGrammar.IsRightRecursive(symbol));
 }