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); }
private bool IsLeoEligible(ISymbol symbol, StateFrameSet stateFrameSet) { return(stateFrameSet.IsLeoUnique(symbol) && _preComputedGrammar.IsRightRecursive(symbol)); }