同时语言翻译OCaml

时间:2012-02-29 21:19:26

标签: ocaml interpreter

这个问题可能很简单,但我是Ocaml编程语言的初学者。我在网上找到了一个用Ocaml编写的解释器,用于WHILE语言。更确切地说,我有5个.ml文件实现:

  • 主;
  • 语义;
  • 类型;
  • 类型检查器;
  • 数据流数据;

如何使用这些文件?例如,如果我想运行用WHILE语言编写的程序,我该做什么?

我曾尝试编译(ocamlc -c file.ml)我拥有的文件,但没有成功。

我正在使用安装了ocaml软件包的ubuntu。

1 个答案:

答案 0 :(得分:5)

我建议首先确保您可以编译一个非常简单的OCaml文件,如下所示:

$ cat tiny.ml
let () = Printf.printf "hello, world\n"
$ ocamlc -o tiny tiny.ml
$ tiny
hello, world
$

如果这样做,下一个问题是你在网上找到的5个文件是否实际上是一个结构良好的OCaml模块集合。如果是,那么您需要以正确的顺序编译(按依赖顺序)。如果正确的顺序是a,b,c,d,e,那么你应该能够说:

$ ocamlc -o whileinterp a.ml b.ml c.ml d.ml e.ml

要识别订单,我实际上会在您从哪里获取文件时进行咨询。有120种不同的订单!如果这是不可能的,您可以从模块依赖项中推断出它。