Что-то плохое с моей грамматикой

Я использую jison, и я видел документацию по грамматикам ebnf, но я не могу заставить мои грамматические работы работать: Вот изображения моей грамматики, ввода и ошибки. В ошибке грамматика распознает только одну строку, но kleen star должен распознать 0 в нескольких случаях. Я новичок в jison, так что, возможно, способ использовать ebnf не такой, как я, если вы можете помочь, я был бы так благодарен

Минимальная полная версия моей грамматики:

Metodo

: 'void' id '(' ')' '{' INSTR '}'
;

INSTR

: INSTRUCCION*
;

Instrucción

: IF
| id '=' EXP ';'
| id ':' INSTR
;

Входные данные:


void metodo_1 () {

t2 = p + 1;
l2:
    t6 = heap[t4];
    print("%c", t6);
    t5 = t5 + 1;
    if t6 != 0 goto l2;
l0: }

Ошибка: ошибка

я добавил %ebnf в начале моего парсера

0 ответов

Другие вопросы по тегам