structure ccross:> CCROSS = struct structure T:> TOKENIZER = Tokenizer(structure H = Hashtable; structure S = Stream) structure P:> CPP = Cpp(T) structure ExnHandler:> EXN_HANDLER = ExnHandler(structure T = T; structure P = P) end val () = MLton.Exn.setTopLevelHandler ccross.ExnHandler.handler fun main [fname] = ccross.P.debugPrint fname | main _ = printLn "Expected a single argument: file name" val () = main $ CommandLine.arguments ()