通常LR(1)解析器离线构造解析表,但在可扩展语法的情况下这是不可能的。可以逐步重建解析表,但需要昂贵的垃圾收集和#34;步。我遇到的可能性是将重建延迟到当前文件的末尾,并且同时直接从语法中解析。但是,我不确定LR(1)语法是否可行。
我认为对于LR(0)语法,将解析堆栈的顶部与具有最长匹配获胜的每个生产进行比较将等同于通常的方法,尽管明显有点慢。但是,我不确定LR(1)语法是否可行,至少在每一步都没有重建解析表的实质部分,或者如果是,我将如何处理它。
有没有一种已知的方法可以做到这一点?或者我需要咬紧牙关并进行增量表生成?