将1毫升文件导入另一个文件

时间:2017-01-14 16:55:27

标签: module compilation ocaml interpreter ml

我有一个interpreter.ml文件,其中包含一个解释器和一些type个定义。

我开发了一些测试电池来检查口译员是否运作良好。

当我在解释器的同一个文件中使用我用来测试解释器行为的函数时效果很好,但如果我尝试使用不同的文件进行测试(让我们说{{1它没有加载解释器函数和定义。

tests.mlinterpreter.ml位于同一文件夹

我在tests.ml内部使用open Interpreter#use "./interpreter.ml"进行了尝试,但它不会编译或关闭IDE中的警告(有点......我使用Visual MacOs上的工作室代码)

我已经尝试关注official documentation,但它不会使用tests.ml

进行编译

1 个答案:

答案 0 :(得分:0)

作为讨论的结果,通过编译2个文件test.ml&获得可执行文件。 interpreter.ml以正确的顺序test.ml依赖于interpreter.ml中定义的对象;因此test.ml必须通过open Interpreter条或者Interpreter来引用解释器对象。通过使用 ocamlc -o exec interpreter.ml test.ml )为所有相关项添加前缀:

ocamlbuild

ocamlbuild test.native 更容易,因为它自己解析依赖项: 以下命令:

e = Enumerator.new do |y|
    puts "Starting up the block!"
    (1..3).each {|i| y << i }
    puts "Exiting the block! (Not really)"
    (4..6).each {|i| y << i }
    puts "Exiting the block!"
end

将生成可执行文件。