2016-03-20 8 views
0

Ich versuche, einen Parser mit BNF Converter zu schreiben. Die Grammatik, die ich verwende, erlaubt Dinge wie a ::= true und b ::= false. Also versuche ich ein Token zu erstellen, um dies zu erreichen. Das ist, was ich habe, so weit:BNFC zum Definieren eines booleschen Tokens

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

Ich hoffe, es so zu verwenden:

Exp ::= BVAL "||" BVAL 

Wenn ich versuche, und führen Sie BNFC Ich erhalte die folgenden Fehler:

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

Antwort

1

Entsprechend der BNFC reference manual ist die Art, wie Sie eine Zeichenfolge in eine token Regel schreiben, zum Beispiel {"true"} statt "true". (Siehe Abschnitt 5.1, "Die token Regel", auf Seite 5.)

Verwandte Themen