File Ocaml-文件和解析

File Ocaml-文件和解析,file,parsing,ocaml,string-parsing,file-read,File,Parsing,Ocaml,String Parsing,File Read,如何在ocaml中从文件中读取内容?具体如何解析它们 例如: 假设文件包含(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)] 有什么好的解析教程吗?这是解析器生成器(ocamlyacc的后续版本)的一个很好的用例。您可能希望使用ocamlex进行词法分析。都有很好的文档 您还可以使用camlp4或camlp5流解析功能 请阅读&.上的维基百科页面

如何在ocaml中从文件中读取内容?具体如何解析它们

例如:

假设文件包含
(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)]


有什么好的解析教程吗?

这是解析器生成器(ocamlyacc的后续版本)的一个很好的用例。您可能希望使用
ocamlex
进行词法分析。都有很好的文档

您还可以使用camlp4或camlp5流解析功能


请阅读&.

上的维基百科页面,我倾向于使用PEG解析器来实现类似的功能。repo中有示例代码。

如果您想指定语法并让ocaml为您生成词法分析器和解析器,请查看这些和教程。我建议这样做。如果您的文件格式中确实只有一种类型的令牌,那么如果您可以使用lexer将文件拆分为语法认为有效的令牌,那么ocamlyacc可能会有点过头。

请不要再发问。如果您有任何新问题要添加到现有问题中,请改为编辑它。