Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | Machine |
2 | ======= | |
3 | ||
4 | <:Machine:> is an <:IntermediateLanguage:>, translated from <:RSSA:> | |
5 | by <:ToMachine:> and used as input by the <:Codegen:>. | |
6 | ||
7 | == Description == | |
8 | ||
9 | <:Machine:> is an <:Untyped:> <:IntermediateLanguage:>, corresponding | |
10 | to a abstract register machine. | |
11 | ||
12 | == Implementation == | |
13 | ||
14 | * <!ViewGitFile(mlton,master,mlton/backend/machine.sig)> | |
15 | * <!ViewGitFile(mlton,master,mlton/backend/machine.fun)> | |
16 | ||
17 | == Type Checking == | |
18 | ||
19 | The <:Machine:> <:IntermediateLanguage:> has a primitive type checker | |
20 | (<!ViewGitFile(mlton,master,mlton/backend/machine.sig)>, | |
21 | <!ViewGitFile(mlton,master,mlton/backend/machine.fun)>), which only checks | |
22 | some liveness properties. | |
23 | ||
24 | == Details and Notes == | |
25 | ||
26 | The runtime structure sets some constants according to the | |
27 | configuration files on the target architecture and OS. |