Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /trunk/src/compiler/README
ViewVC logotype

Annotation of /trunk/src/compiler/README

Parent Directory Parent Directory | Revision Log 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