Что-то плохое с моей грамматикой - PullRequest
0 голосов
/ 03 мая 2018

Я использую jison, и я видел документацию по грамматике ebnf, но я не могу сделать мои грамматические работы: Вот изображения моей грамматики, ввода и ошибки В ошибке грамматика распознает только одну строку, но звезда клина должна распознавать от 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: }

Ошибка: Error

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

...