UTF-8 문자를 처리 할 Bison 파서를 만들려고합니다. 파서가 실제로 유니 코드 문자 값을 해석하는 것을 원치 않지만 UTF-8 문자열을 바이트 시퀀스로 파싱해야합니다.Bison은 UTF-8 문자를 구문 분석 할 수 있습니까?
는 지금, 들소가 문제가 다음 코드 생성
if (yychar <= YYEOF)
{
yychar = yytoken = YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
문제를 UTF-8 문자열의 바이트가 음의 값을 가질 것이며, 들소는 EOF로 음의 값을 해석하는 것입니다, 멈 춥니 다.
이 방법이 있습니까?
음, lexer는 UTF-8 문자를 잘 처리하지만 Bison 파서는 음수 값을 보자 마자 파싱을 중단합니다. 제발 조언. –
한 번에 1 바이트 씩 파일을 읽으십니까? 또는 한 번에 1 utf-8 인코딩 된 문자? – eduffy
한 번에 1 바이트. –