首页 > 解决方案 > 我的语法有问题吗

问题描述

我正在使用 jison,我看到了 ebnf 语法的文档,但我无法使我的语法工作:这是我的语法、输入和错误的图像在错误中,语法只识别一行,但 kleen star 应该识别 0到几个实例。我是 jison 的新手,所以也许使用 ebnf 的方式不像我正在做的那样,如果你能帮助我,我将不胜感激

我的语法的最小完整版本:

方法

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

指令

: INSTRUCCION*
;

说明

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

输入:


无效方法_1(){

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

错误: 错误

%ebnf在解析器的开头添加了

标签: parsinggrammarbnfebnfjison

解决方案


推荐阅读