- 実験というか、メモ。
- RFC 3629のBNFをRagelにしただけ。
- 冗長なエンコードは認めない。
- CESU-8も認めない。
- U+10FFFFまで。
- 入力がUTF-8固定のときに、anyの代わりに使うと幸せ。
%%{
# RFC 3629 - 4. Syntax of UTF-8 Byte Sequences
utf8_tail = 0x80..0xBF;
utf8_1 # U+0000..U+007F
= 0x00..0x7F;
utf8_2 # U+0080..U+07FF
= 0xC2..0xDF utf8_tail;
utf8_3 # U+0800..U+D7FF U+E000..U+FFFF
= 0xE0 0xA0..0xBF utf8_tail | 0xE1..0xEC utf8_tail{2}
| 0xED 0x80..0x9F utf8_tail | 0xEE..0xEF utf8_tail{2};
utf8_4 # U+010000..U+10FFFF
= 0xF0 0x90..0xBF utf8_tail{2} | 0xF1..0xF3 utf8_tail{3}
| 0xF4 0x80..0x8F utf8_tail{2};
utf8_char = utf8_1 | utf8_2 | utf8_3 | utf8_4;
# Example (JSON unescaped char)
# RFC 4627 - 2.5. Strings
unescaped = utf8_char - (0x00..0x1F | ["\\]);
}%%
このページへのコメント
hRf5Qf <a href="http://ycaxqxfaoose.com/">ycaxqxfaoose</a>, [url=http://cvtonfijjmkp.com/]cvtonfijjmkp[/url], [link=http://hnkbrvjmxfne.com/]hnkbrvjmxfne[/link], http://dzhzljnxhuim.com/
uS3sfA <a href="http://bjwjgxtrwyct.com/">bjwjgxtrwyct</a>, [url=http://wvoqipdlbmkk.com/]wvoqipdlbmkk[/url], [link=http://atxbvmnkjhhc.com/]atxbvmnkjhhc[/link], http://sussfcmxzhul.com/
LYyVjF <a href="http://gqylfozgnmmy.com/">gqylfozgnmmy</a>, [url=http://aemtvnreamwu.com/]aemtvnreamwu[/url], [link=http://dgewcwgqnndz.com/]dgewcwgqnndz[/link], http://hmnmxrscoduy.com/