私はTreetopを初めて使用しますが、文法が非常に単純で、うまく機能しません。私はいくつかのテストを持っています:
it "parses a open tag as some text surrouded by brackets" do
document = "[b]"
Parser.parse(document).should_not be_nil
end
it "parses a close tag as a tag with a / preceeding the tag name" do
document = '[/b]'
Parser.parse(document).should_not be_nil
end
これが私の文法です:
grammar BBCode
rule open_tag
"[" tag_name "]"
end
rule tag_name
[a-zA-Z\*]+
end
rule close_tag
"[/" tag_name "]"
end
end
最初のテストは合格し、2番目のテストは失敗します。また、これらの代替ルールを試しました。
"[" [\/] tag_name "]"
"[" "/" tag_name "]"
"[\/" tag_name "]"
これらはすべて失敗します。
何をしようとしても、終了タグを認識できないようです。