Document Information

Last modified:
2007/06/08 10:14 by wpbasti

Compiler Internals

Compiler Overview

This page provides you with an overview of the modules comprising the qooxdoo compiler and how they work together. As a general note, all the compiler modules are organised in a layered architecture, each layer depending on modules from the lower levels (see figure). Modules on the higher levels import modules from lower levels and invoke their functions and methods. At the same time (and thanks to Python’s support for easily doing this), modules on the lower levels can be invoked directly on the command line, and usually produce their main result to STDOUT in a suitable fashion. The rest of this page provides more information on the various moduls.

There is a page dedicated to the technical issues around module documentation.

Generator

The generator is the user frontend module for the compiler. It provides all the options and encapsulates underlying interfaces, organizes necessary files and directories, maintains resource paths and drives the desired code transformations. There is extensive documentation on the generator's user interface, and many of the features of the underlying modules are readily accessible through the generator.

Compiler

The compler is the actual code transformer. It takes JavaScript source files as input and produces JavaScript in various formats, compressed, optimized for execution, beautified for further editing, or translated supporting new code conventions (e.g. during migration).

Treegenerator

The treegenerator produces a syntax tree from the JavaScript source. This syntax tree is the actual data that the compiler does its transformations on. More ...

Tokenizer

The tokenizer transforms the literal JavaScript source code into a stream of tokens. Each token is a JSON-style map capturing the literal source code of the token and its class, together with other interesting attributes. More ...

Tree

The sole purpose of the tree module (tree.py) is to provide the representation of a syntax tree, as produced by the treegenerator, and some utility functions to work on this data structure.

Information

Last modified:
2007/06/08 10:14 by wpbasti

Account

Not logged in

 
 

Job Offers

To further improve qooxdoo we are seeking javascript developers. Read more...

Rich Ajax Platform (RAP)

RAP uses qooxdoo, Java and the Eclipse development model to build rich web applications. Read more...

qooxdoo Web Toolkit (QWT)

Similar to GWT this framework allows to create impressive qooxdoo applications just using Java. Read more...

Pustefix

Pustefix is a MVC-based web application framework using Java and XML/XSLT. Read more...

 
SourceForge.net Logo

Bad Behavior has blocked 0 potential spam attempts in the last 7 days.