root/pl/PL-ABNF.txt

Revision 5 (checked in by rsz, 4 years ago)

Initial import

Line 
1 ; PL - The Format
2 ; http://alt.textdrive.com/pl/3/pl-the-format
3 ;
4 ; Augmented BNF for Syntax Specifications: ABNF
5 ; http://www.faqs.org/rfcs/rfc2234.html
6
7 Map                     = LeftCurlyBracket *( String Equal Value SemiColon ) RightCurlyBracket
8 Collection              = LeftParenthesis Values RigthParenthesis
9 String                  = DQUOTE Text DQUOTE
10 Binary                  = LeftAngleBracket *(HEXDIG HEXDIG) RightAngleBracket
11
12 Values                  = Value / Values Comma Value
13 Value                   = Map / Collection / String / Binary
14
15 Comment                 = "/*" *( %x00-10FFFF ) "*/"
16
17 LeftAngleBracket        = [LWSP] %x3C           ; <
18 RightAngleBracket       = %x3E [LWSP]           ; >
19 LeftParenthesis         = [LWSP] %x28 [LWSP]    ; (
20 RigthParenthesis        = [LWSP] %x29 [LWSP]    ; )
21 Comma                   = [LWSP] %x2C [LWSP]    ; ,
22 LeftCurlyBracket        = [LWSP] %x7B [LWSP]    ; {
23 RightCurlyBracket       = [LWSP] %x7D [LWSP]    ; }
24 Equal                   = [LWSP] %x3D [LWSP]    ; =
25 SemiColon               = [LWSP] %x3B [LWSP]    ; ;
26
27 EBackslash              = Backslash Backslash   ; \\
28 EDQUOTE                 = Backslash DQUOTE      ; \"
29 ELF                     = Backslash LF          ; \n
30 ECR                     = Backslash CR          ; \r
31 EHTAB                   = Backslash HTAB        ; \t
32 Escaped                 = EBackslash / EDQUOTE / ELF / ECR / EHTAB
33
34 Character               = Escaped / %x00-08 / %x0B-0C / %x0F-1F / %x21 / %x23-5B / %x5D-10FFFF
35 Text                    = *Character
36
37 Backslash               = %x5C                  ; \
38 CR                      = %x0D                  ; carriage return
39 DQUOTE                  = %x22                  ; double quote
40 HTAB                    = %x09                  ; horizontal tab
41 LF                      = %x0A                  ; linefeed
42 LWSP                    = *( WSP / CR / LF )    ; linear white space
43 SP                      = %x20                  ; space
44 WSP                     = SP / HTAB             ; white space
45 DIGIT                   =  "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9"
46 HEXDIG                  = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
Note: See TracBrowser for help on using the browser.