static { lexerGrammar.add("\\(", TokenType.OPEN_PAREN); lexerGrammar.add("\\)", TokenType.CLOSE_PAREN); lexerGrammar.add("&&", TokenType.AND); lexerGrammar.add("\\|\\|", TokenType.OR); lexerGrammar.add("==", TokenType.EQUAL); lexerGrammar.add("!=", TokenType.NOT_EQUAL); lexerGrammar.add(">=", TokenType.GREATER_THAN_OR_EQUAL); lexerGrammar.add("<=", TokenType.LESS_THAN_OR_EQUAL); lexerGrammar.add(">", TokenType.GREATER_THAN); lexerGrammar.add("<", TokenType.LESS_THAN); lexerGrammar.add( "(\"[^\"\\\\\\r\\n]*(?:\\\\.[^\"\\\\\\r\\n]*)*\")|\\d+|true|false", TokenType.CONSTANT); lexerGrammar.add("[a-zA-Z][a-zA-Z0-9_]*", TokenType.FIELD_NAME); }