2015-05-25 26 views
2

我有以下的OCaml程序 开放的js漂亮地打印在JS-的-ocaml的

let lex s = Compiler.Parse_js.lexer_from_file s 
let parse s = lex s |> Compiler.Parse_js.parse 

let buffer_pp program = 
    let buf = Buffer.create 10 in 
    let pp = Compiler.Pretty_print.to_buffer buf in 
    Compiler.Js_output.program pp program; 
    Buffer.contents buf |> print_endline 

let() = 
    parse "test.js" |> buffer_pp 

和下面的JavaScript程序

function person(first, last, age, eyecolor) { 
    this.firstName = first; 
    this.lastName = last; 
    this.age = age; 
    this.eyeColor = eyecolor; 
} 
person.prototype.name = function() { 
    return this.firstName + " " + this.lastName; 
}; 

当运行编译OCaml的代码,它打印出

function person(first,last,age,eyecolor) 
{this.firstName=first;this.lastName=last;this.age=age;this.eyeColor=eyecolor} 
person.prototype.name=function(){return this.firstName+" "+this.lastName}; 

有没有一种方法可以更好地显示格式?

回答

2

您可以

Compiler.Pretty_print.set_compact pp false; 

禁用紧凑模式,但是,据我所知,这是默认。

如果你对结果还不满意,还有很多外部工具可以用来优化JavaScript。