//////////////////////////////////////////////////////////////////////////////
-s ::= {Doc} => top
+s ::= Doc => top
-Doc ::= Header Body /ws => doc
-Header ::= "header" { kv */ ws } /ws => header
+Doc ::= {Header} Body /ws => doc
+Header ::= "header" { kv */ ws } /ws => header
Body ::= Section*/ws => body
-Section ::= SectionHeader Paragraph*/ws /ws => section
+Section ::= { SectionHeader Paragraph* /ws => section }
SectionHeader ::= "==" SectionHeaderBody "=="
SectionHeaderBody ::= "=" SectionHeaderBody "="
> ws text ws
+sp !::= " "**
+blank ::= sp "\n" sp "\n" ws
+
kv ::= word "=" text /ws => kv1
num !::= [0-9]++
-Paragraph ::= { "\"\"" ws text } => "blockquote"
- > { "*" " " ws text } => "ul"
- > { "#" " " ws text } => "ol"
- > { num " " ws text } => "ol"
- > { "---" "-"* } => "hr"
- > { text } => "p"
-
-text ::= item => "t"
-itemx ::= ws item => "w" | ()
-item ::= blockquote => "b"
- > pre itemx => "a"
- > structured itemx => "1"
- > structuredx itemx => "2"
- > styled itemx => "3"
- > qtext itemx => "4"
- > alphanum++ itemx => "5"
- > symbol itemx => "6"
+Paragraph ::= { "\"\"" ws text } => "blockquote"
+ > { "*" " " ws text } => "ul"
+ > { "#" " " ws text } => "ol"
+ > { num " " ws text } => "ol"
+ > { "---" "-"* } => "hr"
+ > { text } => "p"
+
+text ::= item
+itemx ::= ws item | ()
+item ::= blockquote
+ > pre itemx => []
+ > structured itemx => []
+ > structuredx itemx => []
+ > styled itemx => []
+ > qtext itemx => []
+ > alphanum++ itemx => []
+ > symbol itemx => []
// > sym++ itemx => []
- > Paragraph itemx => "7"
+ > Paragraph itemx => []
symbol ::= sym++
> "*" text "*" => it
block ::= { text }
-structured ::= { text } "->" (url|email) => link
+structured ::= { text } "->" (url|email) => link
//> alphanum++ "->" (url|email) => link
structuredx ::= glyph
> email