X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=tests%2Ftibdoc.g;fp=tests%2Ftibdoc.g;h=17be29773068896b5bb5b82b759280ac28a8adeb;hp=4dc497ffd09ae6856335440df78f5d83a76b522a;hb=d87c46fcaa7a709fd42a296c4684b725f39a429e;hpb=87bf9df44b553d0e5fb1465983b0dc9f90b699b0 diff --git a/tests/tibdoc.g b/tests/tibdoc.g index 4dc497f..17be297 100644 --- a/tests/tibdoc.g +++ b/tests/tibdoc.g @@ -56,16 +56,16 @@ nw = ~[\r\n\ ] s = Doc -Doc = head:{Header} body:Body /ws -Header = "header" attrs:{ KeyVal */ ws } /ws -Body = {Section}*/ws +Doc = head:Header body:Body /ws +Header = H:: { "header" { KeyVal */ ws } /ws } +Body = B:: {Section}*/ws Section = SectionHeader Paragraph* /ws SectionHeader = "==" SectionHeaderBody "==" SectionHeaderBody = "=" SectionHeaderBody "=" - > !ws alphanum++ !ws + > ws! alphanum++ ws! sp = " "** -blank = !sp "\n" !sp "\n" !ws +blank = sp! "\n" sp! "\n" ws! KeyVal = key:word "=" val:text /ws wp = w++ @@ -75,17 +75,18 @@ Paragraph = Blockquote:: { "\"\" " text } > HR:: { "---" "-"* } > P:: { text } -onums = nums !(". "|") ") +onums = nums (". "|") ")! any = ~[]* -uli = "* " (!ws text &~ any !(oli|uli)) -oli = !("# "|onums) (!ws text &~ any !(oli|uli)) +uli = "* " (ws! text &~ any (oli|uli)!) +oli = ("# "|onums)! (ws! text &~ any (oli|uli)!) text = Item -Itemx = !ws Item +Itemx = ws! Item | () -Item = "[]":: blockquote Itemx - > "[]":: { UL:: uli+/ws } Itemx +Item =// "[]":: blockquote Itemx +// > + "[]":: { UL:: uli+/ws } Itemx | "[]":: { OL:: oli+/ws } Itemx > "[]":: pre Itemx > "[]":: link Itemx @@ -96,7 +97,7 @@ Item = "[]":: blockquote Itemx > "[]":: (Symbol:: sym++) Itemx > "[]":: { Block:: text } Itemx -blockquote = Blockquote:: "\"\"" (block | text "\"\"") +//blockquote = Blockquote:: "\"\"" (block | text "\"\"") pre = Verbatim:: "[verbatim]" { ~[]+ } /ws // FIXME doesn't work @@ -115,9 +116,9 @@ styled = Underline:: "__" text "__" block = { text } link = LinkText:: text:({ text }) "->" href:(url|email) - > LinkChars:: text:alphanum++ !ws "->" href:(url|email) + > LinkChars:: text:alphanum++ ws! "->" href:(url|email) -structured = command & "\\" !([a-zA-Z0-9]++) block? +structured = command & "\\" ([a-zA-Z0-9]++)! block? > glyph > email > url @@ -156,7 +157,7 @@ part = [a-zA-Z0-9\-]++ // interesting use of boolean grammars // &~ ([\-0-9] ~[]* | ~[]* [\-0-9]) -email = Email:: user:username "@" host:host -> ~[.] +email = user:username "@" host:host -> ~[.] nums = [0-9]++ host = IP:: nums "." nums "." nums "." nums | DNS:: domain