s = Doc
Doc = head:{Header} body:Body /ws
-Header = "header" attrs:{ kv */ ws } /ws
-Body = Section*/ws
-Section = { Section:: header:SectionHeader paragraphs:Paragraph* /ws }
+Header = "header" attrs:{ KeyVal */ ws } /ws
+Body = {Section}*/ws
+Section = SectionHeader Paragraphs /ws
SectionHeader = "==" SectionHeaderBody "=="
SectionHeaderBody = "=" SectionHeaderBody "="
- > !ws (Chars:: text:alphanum++) !ws
+ > !ws alphanum++ !ws
sp = " "**
blank = !sp "\n" !sp "\n" !ws
-kv = key:word "=" val:text /ws
+KeyVal = key:word "=" val:text /ws
wp = w++
num = [0-9]++
-Paragraph = Blockquote:: { "\"\" " text }
- > HR:: { "---" "-"* }
- > { P:: t:text }
+Paragraphs = "[]":: { Blockquote:: "\"\" " text } Paragraphs
+ > "[]":: { HR:: "---" "-"* } Paragraphs
+ > "[]":: { P:: text } Paragraphs
+ > ()
onums = nums !(". "|") ")
any = ~[]*
> "[]":: "\"" text "\"" Itemx
// > "[]":: symbol Itemx
> "[]":: (Symbol:: sym++) Itemx
- > "[]":: Paragraph Itemx
+// > "[]":: Paragraph Itemx
blockquote = Blockquote:: "\"\"" text "\"\""
| Blockquote:: "\"\"" block