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

SCM Repository

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

View of /trunk/src/compiler/README

Parent Directory Parent Directory | Revision Log Revision Log

Revision 325 - (download) (annotate)
Wed Aug 18 17:07:16 2010 UTC (11 years, 10 months ago) by jhr
File size: 2606 byte(s)
  Added compiler README file
This directory contains the sources of Diderot compiler.  The compiler is
organized into a series of passes, each of which takes a Diderot program
in some representation and produces a new representation.  Here is a summary
of the passes:

    1) Scanning and parsing
	This phase scans and parses the Diderot source program.
	(see parser)

    2) Typechecking
	This phase takes the parse tree and typechecks it, producing a typed
	AST representation.
	(see ast, basis, parser, typechecker)

    3) Simplification
	This takes the Typed AST representation and produces the Simple AST
	representation.  Simple AST only allows simple expressions over
	variables.  This phase is also responsible for determining which
	global variables are static and evaluating them to.  The main purpose
	of the static evaluation is to get the image summary information from
	(see ast, simplify)

    4) Translation to HighIL
	This pass takes the Simple AST representation and translates it to
	HighIL representation, which is a block-structured SSA representation.
	(see basis, high-il, IL, simplify, translation)

    5) HighIL optimization
	*** Not implemented yet ***
	(see high-il, high-il-opt, IL)

    6) Translation to MidIL
	*** Not implemented yet ***
	(see high-il, high-to-mid, IL, mid-il)

    7) MidIL optimization
	*** Not implemented yet ***
	(see mid-il, mid-il-opt, IL)

    6) Translation to LowIL
	*** Not implemented yet ***
	(see IL, low-il, mid-il, mid-to-low)

    7) LowIL optimization
	*** Not implemented yet ***
	(see IL, low-il, low-il-opt)

    8) Code generation
	*** Not implemented yet ***

And here is a roadmap of the subdirectories:

    IL			- The generic IL modules that are used for the HighIL,
			  MidIL, and LowIL representations.
    IL/gen		- A simple program generator for the IL modules.
    ast			- The typed AST representation
    basis		- The definition of the Diderot Basis environment
    common		- Various miscellaneous utility modules
    driver		- The driver glues the various phases together
    env			- The environment representation used in typechecking
    fields		- Internal representations of image info, kernels, and
    high-il		- The HighIL representation
    high-to-mid		- The HighIL to MidIL translation phase
    low-il		- The LowIL representation
    mid-il		- The MidIL representation
    parser		- The parser, scanner, and parse-tree representation.
    simplify		- Contains the Simple AST representation and the
			  simplification phase.
    translate		- The translation from Simple AST to High IL
    typechecker		- The typechecker

ViewVC Help
Powered by ViewVC 1.0.0