recursive-descent

    1热度

    1回答

    我试图使Ruby的递归下降解析器的语法,这是由以下规则 输入由定义涂白空间分离卡开始用停止字, 其中空白是正则表达式/[ \n\t]+/ 卡可以由个关键字或/和值还通过空格分开, 具有卡特定顺序/图案 所有的停止词和关键词是不区分大小写的,即:/^[a-z]+[a-z0-9]*$/i 值可以是一个双引号字符串,其可以不由白色空间从其他 字分开,例如: word"quoted string"word

    7热度

    1回答

    是否有可能在我使用递归下降解析器检查数据是否匹配语法的同时生成解析树? 如果是这样,我会用递归下降的方式来构建一棵树吗? 谢谢,Boda Cydo。 注:我是新来解析。 (被问及几个关于SO的问题,并且我对它越来越好。)

    1热度

    3回答

    我建立用于生产环境中的自定义表达式解析器和评估器,以提供一个有限的DSL给用户的日期数据类型。解析器本身作为DSL,需要很简单。解析器将以不支持动态表达式解析的异国语言构建,也没有任何解析器生成器工具可用。 我现在的决定是去与LL(1)文法递归下降的方法,所以,即使在评估表达可以快速了解代码是如何工作没有经验的程序员。 它来处理由几种数据类型的混合表达式:小数,百分比,字符串和日期。日期格式为dd

    6热度

    1回答

    从我的计算机语言课程开始已经有几年了,所以我忘记了BNF和EBNF的更精细的点,而且我旁边没有教科书。具体来说,我忘记了如何将EBNF转换为BNF。 从我记得的事情来看,我知道其中的一个要点是将{ term }转换为<term> | <many-terms>。但我不记得其他规则。我试图在网上查看这些内容,但我只能找到指向任一作业问题的链接,或者关于使用大括号转换术语的小评论。我无法找到定义翻译的详

    3热度

    1回答

    问题非常简单:是否可以使用PEG解析PHP? 我想使用PEG解析器生成器来解析PHP。请提供建议。谢谢!

    12热度

    1回答

    我已经想出了如何使用精神 - 即我写了一个适度复杂的语法。我总是采取制定计划的方法 - 一次一个子系统。我已经为最高级别的4种类型的复杂模型编写了数据结构。 我想用grammar composed from rules approach一次解析一种类型的顶级类型 - 即我想用一种顶级语法写4个语法。如果这是可能的(我开始怀疑),有人可以张贴一个片段或参考这样做的项目。 一个顶级语法与50+(可能更

    4热度

    2回答

    我正在寻找一个很好的解释给定语法的RDP的FIRST,FOLLOW和PREDICT集合的定义。

    4热度

    1回答

    我有模式的一部分,我需要解析一个模型。可以说它看起来像下面这样。 { type = "Standard"; hostname="x.y.z"; port="123"; } 的属性是: 元素可以出现无序的。 作为架构一部分的所有元素都必须显示,而不能包含其他元素。 所有元素的合成属性都放入结构中。 (可选)模式将来可能取决于类型字段 - 即基于类型的不同字段 -

    4热度

    3回答

    我目前正在玩BNF语法,我希望能够争取成LL(1)形式。但是,我刚刚完成了第三次手动修改和计算新的FIRST和FOLLOW语法集,我对此已经厌倦了。一定有更好的方法! 有人可以建议一个工具,给定一个语法,将自动计算所有非终端的第一个和后续集?

    2热度

    3回答

    我试图使用Perl解析一个文件中的一些数据& Parse :: RecDescent。我无法将完整的数据文件放在perl脚本中,因为RecDescent需要花费数天的时间来研究它。所以我把这个庞大的数据文件分成RD大小的块,以减少运行时间。然而,我需要提取平衡括号内的部分,我现在的例程不健壮(它取决于从一个换行符的最后一个括号的位置太多)。例如: cell (identifier) {