pri*_*nka 5 parsing ocaml file file-read string-parsing
如何从ocaml中的文件中读取内容?具体如何解析它们?
示例:
假设文件包含 (a,b,c);(b,c,d)| (a,b,c,d);(b,c,d,e)|
(a,b,c);(b,c,d)| (a,b,c,d);(b,c,d,e)|
读完之后,我想要两个包含l1 = [(a,b,c);(b,c,d)]和的列表l2 = [(a,b,c,d);(b,c,d,e)]
l1 = [(a,b,c);(b,c,d)]
l2 = [(a,b,c,d);(b,c,d,e)]
有没有很好的解析教程?
Bas*_*tch 5
这是menhir解析器生成器(后继者ocamlyacc)的一个很好的用例.你可能想用ocamllexlexing.都有很好的文档.
ocamlyacc
ocamllex
您还可以使用camlp4或camlp5流解析功能.
阅读有关lexing和解析的维基百科页面.
oob*_*oob 2
如果您想指定语法并让 ocaml 为您生成词法分析器和解析器,请查看这些ocamllex和ocamlyacc教程。我建议这样做。如果您的文件格式中确实只有一种类型的标记,那么如果您只能使用词法分析器将文件拆分为语法认为有效的标记,则 ocamlyacc 可能会太过分。
归档时间:
14 年 前
查看次数:
1073 次
最近记录: