lr1

    0热度

    1回答

    s : cmd | cmd SOMETHING cmd :WORD WORD和什么事都是非空终端 这是一个LR1语法所以野牛应该没有问题解析它。 但我面临的运行时一个意想不到的问题:输入 程序会提示两次,因此,例如,当我进入“QWERTY”它提示的第二输入,当我尝试调试它,我得到这个: Starting parse Entering state 0 Reading a t

    1热度

    2回答

    我在哪里可以找到LR(1)解析器生成器的简单(尽可能多,但并不简单!)实现? 我不是在寻找性能,只是生成LR(1)状态(项目集)的能力。 C++,C#,Java和Python都适合我。

    0热度

    1回答

    我目前正在从下面的语法构造LR(1)状态。 S->AS S->c A->aA A->b where A,S are nonterminals and a,b,c are terminals. 这是I0 I0: S' -> .S, epsilon --------------- S -> .AS, epsilon S -> .c, epsilon

    0热度

    1回答

    对于给定上下文无关语法: S -> G $ G -> PG | P P -> id : R R -> id R | epsilon 如何重写语法,使其LR(1)? 当解析输入“id:.id”时,当前语法会改变/减少冲突,其中“。”是解析器的输入指针。 该语法生成​​满足正则表达式的语言(id:(id)*)+