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