2015-05-25 73 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。