mirror of
https://github.com/Myzel394/config-lsp.git
synced 2025-06-19 23:45:27 +02:00
66 lines
1.0 KiB
ANTLR
66 lines
1.0 KiB
ANTLR
grammar Match;
|
|
|
|
root
|
|
: matchEntry? (WHITESPACE matchEntry?)* EOF
|
|
;
|
|
|
|
matchEntry
|
|
: criteria separator? values?
|
|
;
|
|
|
|
separator
|
|
: WHITESPACE
|
|
;
|
|
|
|
criteria
|
|
: (USER | GROUP | HOST| LOCALADDRESS | LOCALPORT | RDOMAIN | ADDRESS)
|
|
;
|
|
|
|
values
|
|
: value (COMMA value?)*
|
|
;
|
|
|
|
value
|
|
: STRING
|
|
;
|
|
|
|
USER
|
|
: ('U'|'u') ('S'|'s') ('E'|'e') ('R'|'r')
|
|
;
|
|
|
|
GROUP
|
|
: ('G'|'g') ('R'|'r') ('O'|'o') ('U'|'u') ('P'|'p')
|
|
;
|
|
|
|
HOST
|
|
: ('H'|'h') ('O'|'o') ('S'|'s') ('T'|'t')
|
|
;
|
|
|
|
LOCALADDRESS
|
|
: ('L'|'l') ('O'|'o') ('C'|'c') ('A'|'a') ('L'|'l') ('A'|'a') ('D'|'d') ('D'|'d') ('R'|'r') ('E'|'e') ('S'|'s') ('S'|'s')
|
|
;
|
|
|
|
LOCALPORT
|
|
: ('L'|'l') ('O'|'o') ('C'|'c') ('A'|'a') ('L'|'l') ('P'|'p') ('O'|'o') ('R'|'r') ('T'|'t')
|
|
;
|
|
|
|
RDOMAIN
|
|
: ('R'|'r') ('D'|'d') ('O'|'o') ('M'|'m') ('A'|'a') ('I'|'i') ('N'|'n')
|
|
;
|
|
|
|
ADDRESS
|
|
: ('A'|'a') ('D'|'d') ('D'|'d') ('R'|'r') ('E'|'e') ('S'|'s') ('S'|'s')
|
|
;
|
|
|
|
COMMA
|
|
: ','
|
|
;
|
|
|
|
STRING
|
|
: ~(' ' | '\t' | '\r' | '\n' | '#' | ',')+
|
|
;
|
|
|
|
WHITESPACE
|
|
: [ \t]+
|
|
;
|