使用ppx_deriving打印抽象语法树

时间:2015-07-24 10:28:07

标签: ocaml abstract-syntax-tree

有些人可以告诉我为什么这段代码没有编译。我正在尝试使用ppx_deriving库打印抽象语法树。

type prog = command list
[@@deriving show]
and command =
   | Incv | Decv
   | Incp | Decp
   | Input  | Output
   | Loop of command list
   [@@deriving show]

let _ = Format.printf "%s" (show_prog ([Incv, Incv]))

hello:brainfuckinter mukeshtiwari$ ocamlbuild -package ppx_deriving.std  ast.byte
+ /Users/mukeshtiwari/.opam/4.02.1/bin/ocamlc.opt -c -I /Users/mukeshtiwari/.opam/4.02.1/lib/ppx_deriving -o ast.cmo ast.ml
File "ast.ml", line 10, characters 28-37:
Error: Unbound value show_prog
Command exited with code 2.
Compilation unsuccessful after building 2 targets (1 cached) in 00:00:00.
hello:brainfuckinter mukeshtiwari$ ocaml
    OCaml version 4.02.1

1 个答案:

答案 0 :(得分:5)

添加-use-ocamlfind作为ocamlbuild的第一个参数。它应该解决这个问题。

[Incv, Incv]中也有拼写错误,,应为;