Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing LR(1)解析器可以解析这个语法吗?_Parsing_Context Free Grammar_Lr - Fatal编程技术网

Parsing LR(1)解析器可以解析这个语法吗?

Parsing LR(1)解析器可以解析这个语法吗?,parsing,context-free-grammar,lr,Parsing,Context Free Grammar,Lr,我想用LR(1)解析器解析以下CFG: → A | B A→ ε| A B→ ε| B LR(1)解析器可以解析这个语法吗?如果是,你能给我看一下解析表吗?如果不是,为什么不呢?您如何判断?否,LR(1)解析器无法解析此语法。LR(k)解析器只能解析明确的语法,而这种语法是不明确的(您可以以无限多种方式导出ε) 您可以通过为语法构建配置集来检查这一点,尽管这将非常无聊。:-) 希望这有帮助 看到了吗?有什么见解吗?LR(1)与LR(0)有何不同?谢谢你的回答,我如何从集合中进行检查?是否是这样的

我想用LR(1)解析器解析以下CFG:

→ A | B

A→ ε| A

B→ ε| B

LR(1)解析器可以解析这个语法吗?如果是,你能给我看一下解析表吗?如果不是,为什么不呢?您如何判断?

否,LR(1)解析器无法解析此语法。LR(k)解析器只能解析明确的语法,而这种语法是不明确的(您可以以无限多种方式导出ε)

您可以通过为语法构建配置集来检查这一点,尽管这将非常无聊。:-)


希望这有帮助

看到了吗?有什么见解吗?LR(1)与LR(0)有何不同?谢谢你的回答,我如何从集合中进行检查?是否是这样的,如果我不能创建集合,它是不可解析的,如果我可以,它是可解析的?@DRoW如果你不熟悉集合的配置,你可能应该阅读更多关于LR解析的内容,因为它们是解析器工作的基础。如果您还没有看到配置集,请首先从LR(0)解析开始,因为它们更容易使用。实际上,我阅读了很多关于LR解析的资源,我只看到项目集、解析表和表解析。您可以向我发送包含配置集的链接吗?我搜索了它,它与项目集相同,只是命名不同:)