parser ParserDesc: ignore: "[ \t\n\r]+" token END: "$" token ATTR: "<<\\([^>]+\\|>[^>]\\)*>>" token ID: '[a-zA-Z_][a-zA-Z_0-9]*' token STR: '\\("\\([^\\"]+\|\\\\.\\)*"\\)\\|\\(\'\\([^\\\']+\|\\\\.\\)*\'\\)' rule Parser: "parser" ID ":" Options<<[]>> Tokens<<[]>> Rules<<[]>> END -> << (ID,Options,Tokens,Rules)>> rule Options<>: "option" ":" STR Options<> -> << Options>> | -> << v>> rule Tokens<>: "token" ID ":" STR Tokens<> -> << Tokens>> | "ignore" ":" STR Tokens<> -> << Tokens>> | -> << v>> rule Rules<>: "rule" ID OptParam ":" Clause Clauses<<[clause]>> Rules<> -> << Rules>> | -> << v>> rule Clause: Subs<<[],[]>> "->" Attr -> << Clause(Subs[0], Subs[1], Attr)>> rule Clauses<>: "|" Clause Clauses<> -> << Clauses>> | -> << v>> rule Subs<>: STR Subs<> -> << Subs>> | ID OptParam Subs<> -> << Subs>> | -> << (u, v)>> rule OptParam: Attr -> << Attr>> | -> << ''>> rule Attr: ATTR -> << ATTR[2:-2]>>

AltStyle によって変換されたページ (->オリジナル) /