草庐IT

Y-Combinator

全部标签

c++ - GLL Parser Combinator or Generator in/for C or C++

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭6年前。Improvethisquestion是否有任何现有的GLL的实现?算法,无论是解析器组合器的形式(首选)还是作为C或C++的解析器生成器?我的要求是输出是一个共享的打包解析林(SPPF),我以后可以使用语义和/或上下文规则来消除歧义。还有其他解析算法,例如GLR,它们能够处理一般的上下文无关语法,但是,我能找到的所有GLR解析器生成器要么返回第一个成功的解析树,要么在最后仍然存在歧义时失败。

c++ - GLL Parser Combinator or Generator in/for C or C++

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭6年前。Improvethisquestion是否有任何现有的GLL的实现?算法,无论是解析器组合器的形式(首选)还是作为C或C++的解析器生成器?我的要求是输出是一个共享的打包解析林(SPPF),我以后可以使用语义和/或上下文规则来消除歧义。还有其他解析算法,例如GLR,它们能够处理一般的上下文无关语法,但是,我能找到的所有GLR解析器生成器要么返回第一个成功的解析树,要么在最后仍然存在歧义时失败。

c++ - 通过通用 lambda 理解 Y Combinator

在构建基于lambda的小型元编程库时,我有必要在C++14通用lambda中使用递归来实现left-fold.我自己的解决方案是将lambda本身作为其参数之一传递,如下所示:templateconstexprautofold_l_impl(TAccacc,TFf,Ts...xs){//Foldingstep.autostep([=](autoself){return[=](autoy_acc,autoy_x,auto...y_xs){//Computenextfoldingstep.autonext(f(y_acc,y_x));//Recurseifrequired.returns
12