Exemplo n.º 1
0
        public State GoToNextState(TokenEnums.TokenType tokenType, Token token = null)
        {
            var matches = Transitions.Where(item => item.Item1 == tokenType);

            if (matches.Count() > 1)
            {
                // non-deterministic
                return(null);
            }
            return(matches.FirstOrDefault().Item2);
        }
Exemplo n.º 2
0
        public List <State> GetPossibleNextStates(TokenEnums.TokenType tokenType)
        {
            var matches = Transitions.Where(item => item.Item1 == tokenType);
            var retVal  = new List <State>();

            foreach (var item in matches)
            {
                retVal.Add(item.Item2);
            }

            return(retVal);
        }
Exemplo n.º 3
0
        public State ReEvaluateNextStateBasedOnNextToken(TokenEnums.TokenType tokenType)
        {
            var match = Transitions.Where(item => item.Item1 == tokenType).FirstOrDefault();

            return(match.Item2);
        }