Esempio n. 1
0
        public Token Next()
        {
            if (_tokens.Count > 0)
            {
                return(PopToken());
            }

            if (_que.Count > 0)
            {
                return(DequeueToken());
            }

            switch (_currentMode)
            {
            case LexMode.Text:
                return(NextText());

            case LexMode.Expression:
                return(NextExpression());

            case LexMode.If:
                return(IfNextStatement());

            case LexMode.Tag:
                return(NextStatement());

            case LexMode.String:
                return(NextString());

            default:
                throw new VoltException("Encountered invalid lexer mode: " + _currentMode.ToString() + " " + _line + "," + _column, _line, _column);
            }
        }
Esempio n. 2
0
        public Token Next()
        {
            switch (currentMode)
            {
            case LexMode.Text: return(NextText());

            case LexMode.Expression: return(NextExpression());

            case LexMode.Tag: return(NextTag());

            case LexMode.String: return(NextString());

            default: throw new ParseException("Encountered invalid lexer mode: " + currentMode.ToString(), line, column);
            }
        }
Esempio n. 3
0
        public Token Next()
        {
            switch (_currentMode)
            {
            case LexMode.Text:
                return(NextText());

            case LexMode.Expression:
                return(NextExpression());

            case LexMode.Tag:
                return(NextStatement());

            case LexMode.String:
                return(NextString());

            default:
                throw new TmplException("Encountered invalid lexer mode: " + _currentMode.ToString() + " " + _line + "," + _column, _line, _column);
            }
        }
Esempio n. 4
0
        public Token Next()
        {
            switch (currentMode)
            {
            case LexMode.Root:
                return(NextRootItem());

            case LexMode.Entry:
                return(NextEntry());

            default: throw new TemplateParseException("Encountered invalid lexer mode: " + currentMode.ToString(), line, column);
            }
        }