我正在尝试制作一个Bison解析器来处理UTF-8字符。我不希望解析器实际解释Unicode字符值,但我希望它将UTF-8字符串解析为一个字节序列。野牛可以解析UTF-8字符吗?
眼下,野牛生成以下代码这是有问题:
if (yychar <= YYEOF)
{
yychar = yytoken = YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
的问题是,UTF-8字符串的许多字节将具有负值,和Bison解释负值作为EOF,并停下来。
有没有办法解决这个问题?
那么,我的词法分析器处理UTF-8字符就好了,但Bison解析器只要看到一个负值就会停止解析。请指教。 – 2009-06-01 14:52:16
你一次读取1个字节的文件吗?或一次utf-8编码的字符? – eduffy 2009-06-01 14:53:41
一次1个字节。 – 2009-06-01 14:59:29