的我有一個Yacc的程序來檢查號碼的形式爲0^N 1^N。檢查的字符串是形式0^N 1^N
%start S
%%
S:'0' S '1' {printf("Success\n");}|;
%%
(所有令牌在法文件中定義)
我得到的輸出如下
0011
Success
Success
syntax error
1100
syntax error
我明白爲什麼成功打印了兩次,但什麼是語法錯誤做在第一個輸出?
此外,如何bison
,一個LALR(1)語法分析器發電機做這個任務?
我的語法會接受空格,請參閱代碼。 – PaulDaviesC
@PaulDaviesC:什麼代碼?你對這個問題是誰? – rici