ebnf-bff公司![](https://travis-ci.org/Lokidottir/ebnf-bff.svg?branch=master)
解析器组合子和EBNF,BFF!
目前是最基本的,但(大多数)帮助文本是相关的(没有——还没有删除id)。
正在安装
安装(Linux)
作为安装haskell程序的标准,您必须ghc公司
和阴谋集团
安装
git克隆https://github.com/Lokidottir/ebnf-bff光盘ebnf-bffsudo cabal安装--仅依赖项--全局&&sudo cabal安装--global
从电缆安装
sudo cabal安装ebnf-bff--全局
用法
的帮助文本ebnf-分析
以下为:
ebnf-parse由fionan haralddottir编写,根据麻省理工学院许可证提供。该程序是ebnf-bff cabal包的一部分这是一个解析ISO标准EBNF语法并输出抽象语法树的格式为:标识符:<string>内容:<string>位置:行:<int>列:<int>名称:<string>子项:[<语法树>]使用:ebnf-parse[选项]旗帜:-h--help|显示此文本。-p--primary-rule=rulename|应用于每个规则的整体的规则源文件。-g--grammar=filename|从给定文件加载EBNF语法-o--output=[filename|stdout]|将AST输出到给定文件或stdout(--output=标准输出)。--format=[json|xml|plaintext]| AST的格式,默认为杰森。--export-ebnf-ast |不是解析给定的文件,而是解析EBNF语法,并输出语法(仍然使用--prune-ids,--format标志)。--prune-ids=[comma-delim-list]|从树中删除具有给定列表中的标识符-s--source-files |此标志后的所有参数将为假定为文件名或目录用于由给定语法解析的文件。
托多斯(Todos):
- 清理项目
- 移除对Aeson的依赖,以减少构建时间。
- 潜在危险结构的EBNF语法分析和报告(例如解析无限的空字符串,parsec已经这样做了但我们可以提供源代码位置)
- 更好的EBNF语法解析失败错误消息
- EBNF中定义的EBNF(正确)
执照
该项目由麻省理工学院授权。