Lexer
lexer grammar modelLexer;
MODEL : 'model';
ON : 'on';
PARTITIONS : 'partitions';
PARTITION : 'partition';
REMAINDER : 'remainder';
ANY : 'any';
HOSTID : 'hostid';
USE: 'use';
ACCEPT : 'accept';
DENY : 'deny';
CONTINUE : 'continue';
WITHOUT : 'without';
REQUESTED : 'requested';
FEATURES : 'features';
ALL : 'all';
FROM : 'from';
HOSTNAME: 'hostname';
HOSTTYPE: 'hosttype';
DICTIONARY: 'dictionary';
VENDOR: 'vendor';
STRING: 'string';
MATCHES: 'matches';
LPAREN : '(';
RPAREN : ')';
LBRACE : '{';
RBRACE : '}';
COMMA : ',';
COLON : ':';
WILDCARD : '*';
PERCENT : '%';
DOT : '.';
AND : 'and';
OR : 'or';
NOT : 'not';
C_AND : '&&';
C_OR : '||';
C_NOT : '!';
DIGIT: '0'..'9' ;
QUOTEDSTRING: '"' (~('"' | '\\' | '\r' | '\n') | '\\' ('"' | '\\'))* '"';
// Whitespace, comments
WS : [ \t\r\n\u000C]+ -> skip;
COMMENT : '/*' .*? '*/' -> skip ;
LINE_COMMENT : '//' ~[\r\n]* -> skip ;
UNKNOWN_CHAR : . ;