【发布时间】:2009-06-01 14:46:33
【问题描述】:
我正在尝试制作一个 Bison 解析器来处理 UTF-8 字符。我不希望解析器实际解释 Unicode 字符值,但我希望它将 UTF-8 字符串解析为字节序列。
现在,Bison 生成了以下有问题的代码:
if (yychar <= YYEOF)
{
yychar = yytoken = YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
问题是 UTF-8 字符串的很多字节都会有负值,Bison 将负值解释为 EOF,然后停止。
有没有办法解决这个问题?
【问题讨论】: