Skip to content

Instantly share code, notes, and snippets.

@solidsnack
Last active January 1, 2016 05:59
Show Gist options
  • Select an option

  • Save solidsnack/8102183 to your computer and use it in GitHub Desktop.

Select an option

Save solidsnack/8102183 to your computer and use it in GitHub Desktop.
Sketch of grammar
Unframed ::= UnframedData (NL UnframedData)*
UnframedData ::= FieldChar* (Tab Fields)?
Framed ::= Frame (NL Frame)*
Frame ::= Framing (NL Framing)* FramedData (NL FramedData)*
Framing ::= ColumnInfo | PragmaLine | Version | '#' (Char - NL)*
FramedData ::= ('' | (FieldChar - '#') FieldChar*) (Tab Fields)?
ColumnInfo ::= ('#:' | '#.') Space*
('' | (FieldChar - Space) FieldChar*) (Tab Fields)?
PragmaLine ::= ('#=' | '#-') (Char - NL)*
Version ::= '#*' (Char - NL)*
FieldChar ::= Char - (NL|Tab)
Fields ::= FieldChar* (Tab FieldChar*)*
Char ::= [http://www.w3.org/TR/xml#NT-Char]
NL ::= #x0A
Tab ::= #x09
Space ::= #x20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment