2016-03-20 28 views
0

BNF Converter ile ayrıştırıcı yazmaya çalışıyorum. Kullandığım dilbilgisi a ::= true ve b ::= false gibi şeylere izin veriyor. Bu yüzden bunu başarmak için bir işaret oluşturmaya çalışıyorum.BNFC ile Boole Jetonunu Tanımlayın

token BVAL ("true"|"false"); 

böyle kullanmak umuyorum: Bu defa ne var

Exp ::= BVAL "||" BVAL 

Ben BNFC denemek ve çalıştırdığınızda aşağıda hatayı alıyorum:

user error (syntax error at line 1 before true | false)) 

cevap

1

BNFC reference manual'a göre, token kuralında bir dizi karakter yazdığınız yol, "true" yerine {"true"} şeklindedir. (Bkz. Bölüm 5.1, "token kuralı", sayfa 5.)