cfg:OCaml库用于处理上下文无关的语法

时间:2024-06-11 03:52:38
【文件属性】:

文件名称:cfg:OCaml库用于处理上下文无关的语法

文件大小:25KB

文件格式:ZIP

更新时间:2024-06-11 03:52:38

datastructures ocaml grammar context-free-grammar OCaml

CFG-上下文无关文法的处理 什么是CFG? 该由一组模块组成,这些模块实现了用于以纯功能方式分析和处理上下文无关文法(CFG)的功能。 核心模块cfg_impl.ml包含一个函子,该函子允许使用任意语法实体(终端,非终端,产生式)对主要转换函数进行参数化。 请参阅cfg_intf.ml的界面和BNF示例。 因此,您可以将此模块用于与上下文无关文法等效的任何类型的符号系统。 例如,这包括同构的代数数据类型的规范。 使用CFG 除了使用单个函数add_prod构建语法add_prod ,一些强大的功能还允许您从旧语法构建新语法: union , diff , inter 。 这些功能的行为有点像它们的对应设置。 例如, inter将生成所有语法实体的交集(常见的非终结符及其共同的产生式)。 还存在其他操纵功能,可用于: 修剪非生产性产品和非终端产品:它们包含对不存在符号的引用。


【文件预览】:
cfg-master
----dune(160B)
----CHANGES.md(255B)
----cfg.opam(801B)
----src()
--------dune(73B)
--------bnf_lexer.mll(674B)
--------bnf_parser.mly(524B)
--------cfg_impl.mli(974B)
--------bnf_spec.ml(234B)
--------Makefile(88B)
--------bnf_pp.mli(2KB)
--------bnf_spec.mli(155B)
--------cfg_intf.ml(5KB)
--------cfg_impl.ml(10KB)
--------bnf_pp.ml(2KB)
----dune-project(543B)
----examples()
--------bnf.ml(2KB)
--------dune(59B)
--------Makefile(102B)
--------test.bnf(629B)
----LICENSE.md(27KB)
----README.md(4KB)
----Makefile(92B)
----pre-v2.1.0-CHANGES.txt(2KB)
----.gitignore(32B)

网友评论