mirror of
https://github.com/Myzel394/config-lsp.git
synced 2025-06-18 23:15:26 +02:00
107 lines
1.1 KiB
ANTLR
107 lines
1.1 KiB
ANTLR
grammar Aliases;
|
|
|
|
lineStatement
|
|
: entry EOF
|
|
;
|
|
|
|
entry
|
|
: SEPARATOR? key SEPARATOR? separator SEPARATOR? values
|
|
;
|
|
|
|
separator
|
|
: COLON
|
|
;
|
|
|
|
key
|
|
: STRING
|
|
;
|
|
|
|
// // Values // //
|
|
values
|
|
: (value COMMA SEPARATOR)* value
|
|
;
|
|
|
|
value
|
|
: (user | file | command | include | email | error)
|
|
;
|
|
|
|
user
|
|
: STRING
|
|
;
|
|
|
|
file
|
|
: SLASH (STRING SLASH)* STRING?
|
|
;
|
|
|
|
command
|
|
: VERTLINE STRING?
|
|
;
|
|
|
|
include
|
|
: COLON INCLUDE COLON file?
|
|
;
|
|
|
|
comment
|
|
: NUMBER_SIGN (SEPARATOR? STRING)+ SEPARATOR?
|
|
;
|
|
|
|
email
|
|
: STRING AT STRING
|
|
;
|
|
|
|
error
|
|
: ERROR COLON errorCode? SEPARATOR? errorMessage?
|
|
;
|
|
|
|
errorCode
|
|
: DIGITS
|
|
;
|
|
|
|
errorMessage
|
|
: (STRING SEPARATOR)* STRING
|
|
;
|
|
|
|
DIGITS
|
|
: [0-9]+
|
|
;
|
|
|
|
ERROR
|
|
: 'e' 'r' 'r' 'o' 'r'
|
|
;
|
|
|
|
SEPARATOR
|
|
: [ \t]+
|
|
;
|
|
|
|
AT
|
|
: '@'
|
|
;
|
|
|
|
INCLUDE
|
|
: 'i' 'n' 'c' 'l' 'u' 'd' 'e'
|
|
;
|
|
|
|
VERTLINE
|
|
: '|'
|
|
;
|
|
|
|
COLON
|
|
: ':'
|
|
;
|
|
|
|
COMMA
|
|
: ','
|
|
;
|
|
|
|
NUMBER_SIGN
|
|
: '#'
|
|
;
|
|
|
|
SLASH
|
|
: '/'
|
|
;
|
|
|
|
STRING
|
|
: ~(' ' | '\t' | '\n' | '\r' | ':' | ',' | '#' | '@' | '|' | '/')+
|
|
;
|