SCM Repository
Annotation of /trunk/src/compiler/README
Parent Directory
|
Revision Log
Revision 325 - (view) (download)
1 : | jhr | 325 | This directory contains the sources of Diderot compiler. The compiler is |
2 : | organized into a series of passes, each of which takes a Diderot program | ||
3 : | in some representation and produces a new representation. Here is a summary | ||
4 : | of the passes: | ||
5 : | |||
6 : | 1) Scanning and parsing | ||
7 : | This phase scans and parses the Diderot source program. | ||
8 : | (see parser) | ||
9 : | |||
10 : | 2) Typechecking | ||
11 : | This phase takes the parse tree and typechecks it, producing a typed | ||
12 : | AST representation. | ||
13 : | (see ast, basis, parser, typechecker) | ||
14 : | |||
15 : | 3) Simplification | ||
16 : | This takes the Typed AST representation and produces the Simple AST | ||
17 : | representation. Simple AST only allows simple expressions over | ||
18 : | variables. This phase is also responsible for determining which | ||
19 : | global variables are static and evaluating them to. The main purpose | ||
20 : | of the static evaluation is to get the image summary information from | ||
21 : | dnorm. | ||
22 : | (see ast, simplify) | ||
23 : | |||
24 : | 4) Translation to HighIL | ||
25 : | This pass takes the Simple AST representation and translates it to | ||
26 : | HighIL representation, which is a block-structured SSA representation. | ||
27 : | (see basis, high-il, IL, simplify, translation) | ||
28 : | |||
29 : | 5) HighIL optimization | ||
30 : | *** Not implemented yet *** | ||
31 : | (see high-il, high-il-opt, IL) | ||
32 : | |||
33 : | 6) Translation to MidIL | ||
34 : | *** Not implemented yet *** | ||
35 : | (see high-il, high-to-mid, IL, mid-il) | ||
36 : | |||
37 : | 7) MidIL optimization | ||
38 : | *** Not implemented yet *** | ||
39 : | (see mid-il, mid-il-opt, IL) | ||
40 : | |||
41 : | 6) Translation to LowIL | ||
42 : | *** Not implemented yet *** | ||
43 : | (see IL, low-il, mid-il, mid-to-low) | ||
44 : | |||
45 : | 7) LowIL optimization | ||
46 : | *** Not implemented yet *** | ||
47 : | (see IL, low-il, low-il-opt) | ||
48 : | |||
49 : | 8) Code generation | ||
50 : | *** Not implemented yet *** | ||
51 : | |||
52 : | And here is a roadmap of the subdirectories: | ||
53 : | |||
54 : | IL - The generic IL modules that are used for the HighIL, | ||
55 : | MidIL, and LowIL representations. | ||
56 : | IL/gen - A simple program generator for the IL modules. | ||
57 : | ast - The typed AST representation | ||
58 : | basis - The definition of the Diderot Basis environment | ||
59 : | common - Various miscellaneous utility modules | ||
60 : | driver - The driver glues the various phases together | ||
61 : | env - The environment representation used in typechecking | ||
62 : | fields - Internal representations of image info, kernels, and | ||
63 : | fields | ||
64 : | high-il - The HighIL representation | ||
65 : | high-to-mid - The HighIL to MidIL translation phase | ||
66 : | low-il - The LowIL representation | ||
67 : | mid-il - The MidIL representation | ||
68 : | parser - The parser, scanner, and parse-tree representation. | ||
69 : | simplify - Contains the Simple AST representation and the | ||
70 : | simplification phase. | ||
71 : | translate - The translation from Simple AST to High IL | ||
72 : | typechecker - The typechecker | ||
73 : |
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |