File: mdl-glue.sml

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (92 lines) | stat: -rw-r--r-- 2,772 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
(*
 * This file just links everything together
 *)

structure MDLAstUtil = MDLAstUtil(MDLAst)

structure MDLPP = MDLAstPrettyPrinter(MDLAstUtil)

structure MDLTypeUtils = MDLTypeUtils(MDLPP)

structure MDLEnv = MDLEnv(MDLTypeUtils)

structure MDLRewriter = MDLAstRewriter(MDLAst)
structure MDLTrans = MDLAstTranslation
     (structure AstPP       = MDLPP
      structure AstRewriter = MDLRewriter
     )

structure MDLCompile = MDLCompile
   (structure AstPP    = MDLPP
    structure Env      = MDLEnv
    structure AstUtil  = MDLAstUtil
    structure Rewriter = MDLRewriter
    structure Trans    = MDLTrans
    structure Consts   = MDLAstConstants(MDLAst)
    structure AstUtil  = MDLAstUtil
    structure TypeUtils= MDLTypeUtils
   )

structure MDLTyping = MDLTyping
   (structure Env      = MDLEnv
    structure TypeUtil = MDLTypeUtils
    structure AstUtil  = MDLAstUtil
    structure AstPP    = MDLPP
    structure Comp     = MDLCompile
   )

structure MDLRTLTools = MDLRTLTools
   (structure AstUtil   = MDLAstUtil
    structure MLTreeRTL = MDLMLTreeRTL
   )

structure MLRiscTypes = MLRiscTypes
   (structure Comp = MDLCompile
    structure RTL  = MDLMLTreeRTL
   )

structure MDLRTLComp = MDLRTLComp
   (structure Comp = MDLCompile
    structure Typing = MDLTyping
    structure RTLTools = MDLRTLTools
    structure MLRiscTypes = MLRiscTypes
   )

structure MDLParser = 
   MDLParserDriver
      (structure AstPP = MDLPP
       val MDLmode = true
       open MDLAst
       fun newCell(id,nickname) = 
            CELLdecl{id=id,nickname=nickname,
                     from=ref 0,to=ref ~1, alias=NONE, count=NONE,
                     bits=0, 
                     print=LAMBDAexp[CLAUSE([WILDpat],NONE,
                                            LITexp(STRINGlit id))],
                     aggregable=false,
                     defaults=[]
                    }
       val extraCells = 
            [newCell("CELLSET","cellset")
            ]
      )

structure MDLGen = MDLGen
(  structure Comp       = MDLCompile
   structure Parser     = MDLParser
   structure Cells      = MDLGenCells(MDLCompile)
   structure Instr      = MDLGenInstr(MDLCompile)
   structure Shuffle    = MDLDummyGen(MDLCompile)
   structure Asm        = MDLGenAsm(MDLCompile)
   structure MC         = MDLGenMC(MDLCompile)
   structure Jumps      = MDLDummyGen(MDLCompile)
   structure Dasm       = MDLDummyGen(MDLCompile)
   structure Props      = MDLGenInsnProps(MDLRTLComp)
   structure Rewrite    = MDLGenRewrite(MDLRTLComp)
   structure RTLComp    = MDLRTLComp
   structure RTLProps   = MDLGenRTLProps(MDLRTLComp)
   structure SSAProps   = MDLGenSSAProps(MDLRTLComp)
  (* structure DelaySlots = MDLDelaySlots(MDLCompile)
   structure SchedProps = MDLSchedProps(MDLRTLComp)
   *)
)