2016-03-20 4 views
0

Я пытаюсь написать парсер с конвертером BNF. Грамматика, которую я использую, позволяет такие вещи, как a ::= true и b ::= false. Поэтому я пытаюсь создать токен, чтобы выполнить это. Это то, что я до сих пор:BNFC для определения булева маркера

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

Я надеюсь использовать его как это:

Exp ::= BVAL "||" BVAL 

Когда я пытаюсь запустить BNFC я получаю ошибку ниже:

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

ответ

1

В соответствии с BNFC reference manual способ записи последовательности символов в правиле token составляет, например, {"true"}, а не "true". (См. Раздел 5.1 «Правило token», на странице 5.)

Смежные вопросы