[pypy-svn] r18823 - pypy/dist/pypy/doc

arigo at codespeak.net arigo at codespeak.net
Fri Oct 21 15:06:09 CEST 2005


Author: arigo
Date: Fri Oct 21 15:06:08 2005
New Revision: 18823

Modified:
   pypy/dist/pypy/doc/draft-dynamic-language-translation.txt
Log:
Changed the nesting of sections and subsections (mwh comment).


Modified: pypy/dist/pypy/doc/draft-dynamic-language-translation.txt
==============================================================================
--- pypy/dist/pypy/doc/draft-dynamic-language-translation.txt	(original)
+++ pypy/dist/pypy/doc/draft-dynamic-language-translation.txt	Fri Oct 21 15:06:08 2005
@@ -35,7 +35,7 @@
 
 
 No Declarations
---------------------------
+~~~~~~~~~~~~~~~
 
 The notion of "declaration", central in compiled languages, is entirely
 missing in Python.  There is no aspect of a program that must be declared;
@@ -71,7 +71,7 @@
 
 
 The analysis of live programs
------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 How can we perform some static analysis on a program written in a dynamic
 language while keeping to the spirit of `No Declarations`_, i.e. without
@@ -133,7 +133,7 @@
 ======================================================
 
 Object Spaces
----------------------------------
+~~~~~~~~~~~~~
 
 The semantics of Python can be roughly divided in two groups: the syntax of
 the language, which focuses on control flow aspects, and the object semantics,
@@ -162,7 +162,7 @@
 
 
 Abstract interpretation
-------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~
 
 In the sequel of this paper, we will consider another application
 of the object space separation.  The analysis we perform in PyPy
@@ -209,15 +209,26 @@
 
 
 The PyPy analysis toolchain
-===========================================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+We developed above a theoretical point of view that differs
+significantly from what we have implemented, for many reasons.  The
+devil is in the details.
+
+The rest of this document is organized as follows:
 
-The previous sections have developed a theoretical point of view that
-differs significantly from what we have implemented, for many reasons.
-The devil is in the details.
+* the `Flow Object Space`_ chapter describes how we turn Python bytecode
+  objects into control flow graphs by performing its abstract
+  interpretation;
+
+* the `Annotator`_ chapter describes our type inference model and process;
+
+* the `Code Generation`_ chapter gives an overview about how we turn
+  annotated flow graphs into low-level code.
 
 
 Flow Object Space
----------------------------------
+===========================================
 
 In our bytecode-interpreter design evaluation responsibilities are
 split between the Object Space, frames and the so-called execution
@@ -506,7 +517,7 @@
 
 
 Annotator 
----------------------------------
+=================================
 
 The annotator is the type inference part of our toolchain.  The
 annotator infers *types* in the following sense: given a program
@@ -1358,8 +1369,10 @@
 XXX termination even with non-static aspects
 
 
-Code generation: rewriting to low-level operations
---------------------------------------------------
+Code Generation
+===============================
+
+XXX rewriting to low-level operations
 
 XXX introduction, repr
 



More information about the Pypy-commit mailing list