checkpoint
[sbp.git] / tests / tibdoc.g
index 88ee6f8..4dc497f 100644 (file)
@@ -59,7 +59,7 @@ s                   = Doc
 Doc                 = head:{Header} body:Body  /ws
 Header              = "header" attrs:{ KeyVal */ ws }  /ws
 Body                = {Section}*/ws
-Section             = SectionHeader Paragraphs /ws
+Section             = SectionHeader Paragraph* /ws
 SectionHeader       = "==" SectionHeaderBody "=="
 SectionHeaderBody   =  "=" SectionHeaderBody "="
                     >      !ws alphanum++ !ws
@@ -70,10 +70,10 @@ blank    = !sp "\n" !sp "\n" !ws
 KeyVal       = key:word "=" val:text /ws
 wp           = w++
 num          = [0-9]++
-Paragraphs   = "[]":: { Blockquote:: "\"\" "    text } Paragraphs
-             > "[]":: { HR::         "---" "-"*      } Paragraphs
-             > "[]":: { P::          text            } Paragraphs
-             > ()
+
+Paragraph   = Blockquote:: { "\"\" "    text }
+            > HR::         { "---" "-"*      }
+            > P::          { text            }
 
 onums        = nums !(". "|") ")
 any          = ~[]*
@@ -84,7 +84,7 @@ oli          = !("# "|onums) (!ws text &~ any !(oli|uli))
 text         = Item
 Itemx        = !ws Item
              | ()
-Item         = blockquote
+Item         = "[]":: blockquote                 Itemx
              > "[]":: { UL:: uli+/ws }           Itemx
              | "[]":: { OL:: oli+/ws }           Itemx
              > "[]":: pre                        Itemx
@@ -96,8 +96,7 @@ Item         = blockquote
              > "[]":: (Symbol:: sym++)           Itemx
              > "[]":: { Block:: text }           Itemx
 
-blockquote   = Blockquote:: "\"\"" text "\"\""
-             | Blockquote:: "\"\"" block
+blockquote   = Blockquote:: "\"\"" (block | text "\"\"")
              
 pre          = Verbatim:: "[verbatim]" { ~[]+ } /ws   // FIXME doesn't work