Ancestry.Daisy.Language.DaisyParser.ParseExpression C# (CSharp) Метод

ParseExpression() приватный Метод

private ParseExpression ( ) : IDaisyAstNode
Результат IDaisyAstNode
        private IDaisyAstNode ParseExpression()
        {
            var statement = ParseUnaryExpr();
            var endLoop = false;
            while(!endLoop)
            {
                switch (tokenStream.Current.Kind)
                {
                    case TokenKind.Statement:
                    case TokenKind.And:
                    case TokenKind.Not:
                        statement = ParseAnd(statement);
                        break;
                    case TokenKind.Or:
                        statement = ParseOr(statement);
                        break;
                    case TokenKind.EOF:
                    case TokenKind.EndGroup:
                        endLoop = true;
                        break;
                    default:
                        throw new UnexpectedTokenException(tokenStream.Current, new[]
                            {
                                TokenKind.Statement, TokenKind.And, TokenKind.Or,
                                TokenKind.EOF, TokenKind.StartGroup,
                            });
                }
            }
            return statement;
        }