X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=tests%2Ftibdoc.g;h=4dc497ffd09ae6856335440df78f5d83a76b522a;hp=2afac83beb193d7621989e2dd6b3410f19890706;hb=3c03a0a1131b46a23ccfdeab2cb4fbd59ee05b7a;hpb=3784457891d6a8b17429a16493cd65501e02e174 diff --git a/tests/tibdoc.g b/tests/tibdoc.g index 2afac83..4dc497f 100644 --- a/tests/tibdoc.g +++ b/tests/tibdoc.g @@ -70,9 +70,10 @@ blank = !sp "\n" !sp "\n" !ws KeyVal = key:word "=" val:text /ws wp = w++ num = [0-9]++ -Paragraph = Blockquote:: { "\"\" " text } - > HR:: { "---" "-"* } - > P:: { text } + +Paragraph = Blockquote:: { "\"\" " text } + > HR:: { "---" "-"* } + > P:: { text } onums = nums !(". "|") ") any = ~[]* @@ -83,21 +84,19 @@ 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 > "[]":: link Itemx > "[]":: structured Itemx > "[]":: styled Itemx - > "[]":: (Chars:: text:alphanum++) Itemx + > "[]":: (Chars:: alphanum++) Itemx > "[]":: "\"" text "\"" Itemx -// > "[]":: symbol Itemx > "[]":: (Symbol:: sym++) Itemx - > "[]":: Paragraph Itemx + > "[]":: { Block:: text } Itemx -blockquote = Blockquote:: "\"\"" text "\"\"" - | Blockquote:: "\"\"" block +blockquote = Blockquote:: "\"\"" (block | text "\"\"") pre = Verbatim:: "[verbatim]" { ~[]+ } /ws // FIXME doesn't work @@ -115,8 +114,8 @@ styled = Underline:: "__" text "__" block = { text } -link = Link:: text:({ text }) "->" href:(url|email) - > Link:: text:alphanum++ !ws "->" href:(url|email) +link = LinkText:: text:({ text }) "->" href:(url|email) + > LinkChars:: text:alphanum++ !ws "->" href:(url|email) structured = command & "\\" !([a-zA-Z0-9]++) block? > glyph @@ -141,8 +140,15 @@ urlc = [a-zA-Z0-9;/?:&=$\-_.+@] urlv = urlc | [%] urlchar = urlc | urlescape:: "%" [0-9] [0-9] -url = "mailto" ":" email -> ~urlv - > URL:: method:method "://" login:url_login? host:host port:(":" nums)? path:("/" urlpath)? -> ~urlv +url = Mailto:: "mailto" ":" email -> ~urlv + > URL:: + method:method + "://" + login:url_login? + host:host + port:(":" nums)? + path:("/" urlpath)? + -> ~urlv url_login = Login:: username:username password:(":" password) "@" method = [+\-.a-z0-9]+ domain = (part +/ ".") -> ~"." @@ -163,7 +169,7 @@ word = alphanum++ | quoted quoted = "\"" ((~[\"\\] | escaped)+) "\"" - | "":: "\"\"" + | "\"\"":: "\"\"" escaped = lf:: "\\n" | cr:: "\\r" | "\\" ~[nr] @@ -172,7 +178,6 @@ escaped = lf:: "\\n" // Chars /////////////////////////////////////////////////////////////// alpha = [a-zA-Z] -//num = [0-9] alphanum = [a-zA-Z0-9] sym = ~[a-zA-Z0-9\ \r\n=\">]