2012-02-29 189 views
0

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

  • Main;
  • 语义;
  • 类型;
  • 类型检查器;
  • 数据流分析;

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

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

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

+1

你可以尝试'ocamlbuild Main.byte',如果事情很简单,它可以工作。然后运行'./ Main.byte' – Ptival 2012-02-29 21:31:22

+3

如果你没有提供正确的信息,你希望人们如何帮助你?提供一个链接到你找到资源的地方很难(或者它是作业?)。文件列表是什么? 'ls' – 2012-03-01 07:16:37

回答

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个不同的订单!如果这是不可能的,你可以从模块依赖关系中推导出它。