Skip to content

Commit 3c6fb09

Browse files
committed
Update maml.abnf
1 parent f17a528 commit 3c6fb09

File tree

1 file changed

+22
-13
lines changed

1 file changed

+22
-13
lines changed

maml.abnf

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@ maml = space value space
22

33
value = object / array / string / multiline-string / number / "true" / "false" / "null"
44

5-
object = '{' [ members ] space '}'
5+
object = "{" [ members ] space "}"
66

77
members = space key-value ws [ comment ] separator members
88
members =/ space key-value space [ separator ]
99

10-
key-value = key ws ':' ws value
10+
key-value = key ws ":" ws value
1111

1212
key = string / identifier
1313

14-
identifier = 1*( ALPHA / DIGIT / '-' / '_' )
14+
identifier = 1*( ALPHA / DIGIT / "-" / "_" )
1515

16-
array = '[' [ items ] space ']'
16+
array = "[" [ items ] space "]"
1717

1818
items = space value ws [ comment ] separator items
1919
items =/ space value space [ separator ]
2020

21-
separator = ',' / newline
21+
separator = "," / newline
2222

2323
string = quote *char quote
2424

@@ -28,31 +28,40 @@ multiline-string-body = *literal-char *( allowed-quotes 1*literal-char ) [ allow
2828

2929
allowed-quotes = 1*2quote
3030

31-
quote = '"'
31+
quote = %x22
3232

3333
literal-char = %x09 / %x20-21 / %x23-7E / non-ascii / newline
3434

35-
number = [ '-' ] integer [ fraction ] [ exp ]
35+
number = [ "-" ] integer [ fraction ] [ exp ]
3636

3737
onenine = %x31-39
3838

39-
exp = ( 'e' / 'E' ) [ '-' / '+' ] 1*DIGIT
39+
exp = ( "e" / "E" ) [ "-" / "+" ] 1*DIGIT
4040

41-
fraction = '.' 1*DIGIT
41+
fraction = "." 1*DIGIT
4242

43-
integer = '0' / ( onenine *DIGIT )
43+
integer = "0" / ( onenine *DIGIT )
4444

4545
char = %x20-21 / %x23-5B / %x5D-10FFFF
46-
char =/ %x5C ( %x5C / '"' / '/' / 'b' / 'f' / 'n' / 'r' / 't' / 'u' 4HEXDIG )
46+
char =/ %x5C ( %x5C / quote / "/" / "b" / "f" / "n" / "r" / "t" / "u" 4HEXDIG )
4747

4848
space = *( ws [ comment ] )
4949

50-
comment = '#' *non-eol
50+
comment = "#" *non-eol
5151

5252
non-eol = %x09 / %x20-7E / non-ascii
5353

5454
non-ascii = %x80-D7FF / %xE000-10FFFF
5555

56-
newline = LF / CRLF
56+
newline = LF / CR LF
5757

5858
ws = *( SP / HTAB / LF / CR )
59+
60+
SP = %x20 ; space
61+
CR = %x0D ; carriage return
62+
LF = %x0A ; linefeed
63+
HTAB = %x09 ; horizontal tab
64+
ALPHA = %x41-5A / %x61-7A ; A-Z / a-z
65+
DIGIT = %x30-39 ; 0-9
66+
HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
67+

0 commit comments

Comments
 (0)