当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

Soul Parsing Framework

递归下降解析器生成器
授权协议 GPLv3
开发语言 C/C++ C#
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 靳茂
操作系统 Windows
开源组织
适用人群 未知
 软件概览

Soul 是一个递归下降解析器生成器工具适用于Windows和Linux的解析库的陪同下。它具有C + +和C#绑定。在C ++工具被称为soul2cpp和C#工具soul2cs的的。

 相关资料
  • 我正在用Clojure创建一些专家系统,我需要开发递归下降解析器,用于从文本文件中读取规则并从中创建Clojure函数。我写了一个函数,它检查文本文件是否符合我的语法,它给我一个字符串列表,其中包含函数名、数字、系统事实名称、算术和逻辑运算符等元素。这就是我的语法: 这就是我检查语法的功能: 现在我想从上面函数给我的字符串列表中创建一个Clojure函数。你知道怎么做吗? 更新这里是一个规则和硬编

  • 问题 你想根据一组语法规则解析文本并执行命令,或者构造一个代表输入的抽象语法树。 如果语法非常简单,你可以不去使用一些框架,而是自己写这个解析器。 解决方案 在这个问题中,我们集中讨论根据特殊语法去解析文本的问题。 为了这样做,你首先要以BNF或者EBNF形式指定一个标准语法。 比如,一个简单数学表达式语法可能像下面这样: expr ::= expr + term | expr - t

  • 问题内容: 我正在尝试编写一种算法,以Java或Javascript创建合法的Sudoku板。两者都不起作用,我也不完全清楚为什么。 本质上,两个程序中的问题是x或y的增量都超过了其应有的幅度(跳过平方)。我一生无法弄清楚这是怎么发生的。如果需要,我可以提供完成JS解决方案的HTML。 我最好的猜测是它与我如何使用递归创建堆栈有关,但是据我所知,它 应该可以 工作。在我的旧代码中,有一个不正确的f

  • 问题内容: 我天真地尝试创建一个递归生成器。没用 这是我所做的: 我所得到的只是第一项。 有没有办法使这种代码起作用?本质上是在递归方案中将命令转移到以上级别吗? 问题答案: 尝试这个: 我应该指出,由于您的功能存在错误,因此无法使用。它可能应该包含不为空的支票,如下所示:

  • 本文向大家介绍深入理解python函数递归和生成器,包括了深入理解python函数递归和生成器的使用技巧和注意事项,需要的朋友参考一下 一、什么是递归 如果函数包含了对其自身的调用,该函数就是递归的。递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代

  • 问题内容: 我正在寻找用于Java的解析器生成器,该解析器生成器将执行以下操作:我的语言项目非常简单,并且仅包含少量标记。 以纯READABLE Java代码输出,以便我可以对其进行修改(这就是为什么我不使用ANTLR的原因)成熟的库,该库至少可以在Java 1.4上运行和使用 我看过以下内容,它们可能会起作用:JavaCC,jlex,Ragel? 问题答案: 您应该使用Rats …这样,您不必将

  • 我正在尝试使用ANTLRV4为一个简单的自定义语法生成一个lexer和解析器。问题是,当我运行Antlr.jar实用程序时,它生成了一个Lexer文件,而不是一个解析器文件,我认为它应该生成。 简单语法 hellolexer.js hellolexer.tokens 所需输出 hellolexer.js helloparser.js hellolistener.js hellovisitor.js

  • 问题内容: 最近,我编写了一个函数来生成具有非平凡约束的某些序列。问题来自自然的递归解决方案。现在碰巧,即使对于相对较小的输入,序列也要成千上万,因此我宁愿使用我的算法作为生成器,而不是使用它来填充所有序列的列表。 这是一个例子。假设我们要使用递归函数计算字符串的所有排列。以下朴素算法采用一个额外的参数“存储”,并在找到一个参数时附加一个置换: (请不要在意效率低下,这只是一个例子。) 现在,我想