summaryrefslogtreecommitdiff
path: root/ccross.sml
blob: 46851e9774b9ccc10335fda4260e7a2c40ff1808 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
structure ccross:> CCROSS = struct
  structure ST:> SYMTAB = Symtab(Hashtable)
  structure T:> TOKENIZER =
    Tokenizer(structure ST = ST; structure S = Stream)
  structure ppc:> PPC = ppc(structure Tree = Tree; structure T = T)
  structure Parser:> PARSER =
    Parser(structure Tree = Tree; structure P = ppc;
        structure D = Dynarray)
  structure IL:> IL = IL(Parser)
  structure Emit:> EMIT = Emit(IL)
  structure D:> DRIVER = Driver(Emit)
  structure ExnHandler:> EXN_HANDLER = ExnHandler
end

val () = MLton.Exn.setTopLevelHandler ccross.ExnHandler.handler
val () = ccross.D.exec ()