同时语言翻译OCaml

-1 interpreter ocaml

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

  • 主要;
  • 语义;
  • 类型;
  • TYPE-检查;
  • 数据流分析;

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

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

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

Jef*_*eld 5

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

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

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

$ ocamlc -o whileinterp a.ml b.ml c.ml d.ml e.ml
Run Code Online (Sandbox Code Playgroud)

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