// Path: cssdroid/src/main/java/com/manolovn/cssdroid/parser/lexer/domain/Lexem.java
// public class Lexem {
// 
//     public final Pattern regex;
//     public final TokenType token;
// 
//     public Lexem(Pattern regex, TokenType token) {
//         this.regex = regex;
//         this.token = token;
//     }
// 
// }
// 
// Path: cssdroid/src/main/java/com/manolovn/cssdroid/parser/lexer/domain/Token.java
// public class Token {
// 
//     public final TokenType token;
//     public final String sequence;
// 
//     public Token(TokenType token, String sequence) {
//         this.token = token;
//         this.sequence = sequence;
//     }
// }


import com.manolovn.cssdroid.parser.lexer.domain.Lexem;
import com.manolovn.cssdroid.parser.lexer.domain.Token;
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
package com.manolovn.cssdroid.parser.lexer;



/**
 * Less lexer
 */
public class CssDroidLexer {

    private CssDroidGrammar grammar;
    private LinkedList<Token> tokens;

    public CssDroidLexer() {
        grammar = new CssDroidGrammar();
        tokens = new LinkedList<>();
    }

    public void tokenize(String input) {
        input = input.trim();
        tokens.clear();
        while (!input.isEmpty()) {
            boolean match = false;
// Path: cssdroid/src/main/java/com/manolovn/cssdroid/parser/lexer/domain/Lexem.java
// public class Lexem {
// 
//     public final Pattern regex;
//     public final TokenType token;
// 
//     public Lexem(Pattern regex, TokenType token) {
//         this.regex = regex;
//         this.token = token;
//     }
// 
// }
// 
// Path: cssdroid/src/main/java/com/manolovn/cssdroid/parser/lexer/domain/Token.java
// public class Token {
// 
//     public final TokenType token;
//     public final String sequence;
// 
//     public Token(TokenType token, String sequence) {
//         this.token = token;
//         this.sequence = sequence;
//     }
// }


// Path: cssdroid/src/main/java/com/manolovn/cssdroid/parser/lexer/CssDroidLexer.java
import com.manolovn.cssdroid.parser.lexer.domain.Lexem;
import com.manolovn.cssdroid.parser.lexer.domain.Token;
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;

package com.manolovn.cssdroid.parser.lexer;



/**
 * Less lexer
 */
public class CssDroidLexer {

    private CssDroidGrammar grammar;
    private LinkedList<Token> tokens;

    public CssDroidLexer() {
        grammar = new CssDroidGrammar();
        tokens = new LinkedList<>();
    }

    public void tokenize(String input) {
        input = input.trim();
        tokens.clear();
        while (!input.isEmpty()) {
            boolean match = false;
            for (Lexem info : grammar.getLexems()) {