mirror of
https://github.com/Myzel394/config-lsp.git
synced 2025-06-18 23:15:26 +02:00
77 lines
1.0 KiB
ANTLR
77 lines
1.0 KiB
ANTLR
grammar Fstab;
|
|
|
|
entry
|
|
:
|
|
WHITESPACE? spec?
|
|
WHITESPACE? mountPoint?
|
|
WHITESPACE? fileSystem?
|
|
WHITESPACE? mountOptions?
|
|
WHITESPACE? freq?
|
|
WHITESPACE? pass? WHITESPACE?
|
|
EOF
|
|
;
|
|
|
|
spec
|
|
: QUOTED_STRING | STRING
|
|
;
|
|
|
|
mountPoint
|
|
: QUOTED_STRING | STRING
|
|
;
|
|
|
|
fileSystem
|
|
: ADFS | AFFS | BTRFS | EXFAT
|
|
// Still match unknown file systems
|
|
| STRING | QUOTED_STRING
|
|
;
|
|
|
|
mountOptions
|
|
: QUOTED_STRING | STRING
|
|
;
|
|
|
|
freq
|
|
: DIGITS
|
|
;
|
|
|
|
pass
|
|
: DIGITS
|
|
;
|
|
|
|
DIGITS
|
|
: [0-9]+
|
|
;
|
|
|
|
WHITESPACE
|
|
: [ \t]+
|
|
;
|
|
|
|
HASH
|
|
: '#'
|
|
;
|
|
|
|
STRING
|
|
: ~(' ' | '\t' | '#')+
|
|
;
|
|
|
|
QUOTED_STRING
|
|
: '"' WHITESPACE? (STRING WHITESPACE)* STRING? ('"')?
|
|
;
|
|
|
|
// ///// Supported file systems /////
|
|
|
|
ADFS
|
|
: ('A' | 'a') ('D' | 'd') ('F' | 'f') ('S' | 's')
|
|
;
|
|
|
|
AFFS
|
|
: ('A' | 'a') ('F' | 'f') ('F' | 'f') ('S' | 's')
|
|
;
|
|
|
|
BTRFS
|
|
: ('B' | 'b') ('T' | 't') ('R' | 'r') ('F' | 'f') ('S' | 's')
|
|
;
|
|
|
|
EXFAT
|
|
: ('E' | 'e') ('X' | 'x') ('F' | 'f') ('A' | 'a') ('T' | 't')
|
|
;
|