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 : . ;