[Subversion] / BytecodeAssembler / peak / util / assembler.txt  

Log of /BytecodeAssembler/peak/util/assembler.txt

Parent Directory

No default branch
Bookmark a link to HEAD: (view) (download)


Revision 2191 - (view) (download) - [select for diffs]
Modified Sat Jun 17 04:37:36 2006 UTC (17 years, 10 months ago) by pje
File length: 53829 byte(s)
Diff to previous 2190
Major update: lots of docs, block support, loops, break, continue,
exception handling, pseudo-"switch" statement demo, .label() renamed to 
.here(), constant folding, const_value() API, NotAConstant exception.

Revision 2190 - (view) (download) - [select for diffs]
Modified Fri Jun 16 05:56:11 2006 UTC (17 years, 10 months ago) by pje
File length: 35654 byte(s)
Diff to previous 2188
Major doc upgrade and new features: Return() nodes, code() accepts 
multiple args, and forward references can be used as code generation 
targets.  Booleans are now treated as constants.  Local() vars can now 
be references to cell/free variables, and free/cell index lookup is
fixed.  ``curry()`` is now ``ast_curry()``, and handles ``None`` 
arguments by replacing them with  special ``nil`` objects, correcting 
the problem of naively using ``None`` for AST child nodes.  And the 
documentation now covers virtually all of the package's current 
functionality.

Revision 2188 - (view) (download) - [select for diffs]
Modified Thu Jun 15 06:19:17 2006 UTC (17 years, 10 months ago) by pje
File length: 23122 byte(s)
Diff to previous 2187
Mark tests that fail under Python 2.3, and explain why.

Revision 2187 - (view) (download) - [select for diffs]
Modified Thu Jun 15 06:05:27 2006 UTC (17 years, 10 months ago) by pje
File length: 23050 byte(s)
Diff to previous 2160
Refactor the high-level API: it's now .return_() instead of .Return(),
Local() has to be used to load local variables, and virtually any 
immutable type (including strings and None) can now be used for direct 
value generation.  The high-level APIs now curry themselves so that ASTs 
can be used as dictionary keys (useful for identifying common 
subexpressions, as PEAK-Rules will need to do).

Also, added lots of documentation (although there's still quite a lot 
left to write), and fixed a couple of bugs.

Revision 2160 - (view) (download) - [select for diffs]
Modified Sun May 28 22:38:22 2006 UTC (17 years, 10 months ago) by pje
File length: 12937 byte(s)
Diff to previous 2139
Code generation, function cloning, code flags support, some
work on closures.

Revision 2139 - (view) (download) - [select for diffs]
Modified Tue May 23 05:28:31 2006 UTC (17 years, 11 months ago) by pje
File length: 6874 byte(s)
Copied from: RuleDispatch/src/dispatch/assembler.txt revision 2115
Diff to previous 2112
Spin off RuleDispatch's bytecode assembler into a separate project.

Filename: RuleDispatch/src/dispatch/assembler.txt
Revision 2112 - (view) (download) - [select for diffs]
Modified Thu Dec 22 05:26:05 2005 UTC (18 years, 4 months ago) by pje
File length: 6660 byte(s)
Diff to previous 2111
Added jumps, labels, and backpatching forward references, all of which 
turned out to be easier to do than I expected, as long as we assume 
the total code size is <64K.  At this point, the assembler probably has 
everything it will need for doing generic function stuff, so I probably 
won't bother with any special support for loops or try: blocks, or for 
that matter nested scopes.  At some point, the <64K limit for jump 
handling may need to be fixed, though, if we ever generate big enough 
generic functions.  (Which assumes I ever manage to generate something 
useful with this module in the first place, which is not a given at
this point.)

Filename: RuleDispatch/src/dispatch/assembler.txt
Revision 2111 - (view) (download) - [select for diffs]
Added Mon Dec 19 07:32:17 2005 UTC (18 years, 4 months ago) by pje
File length: 5645 byte(s)
Preliminary draft of an "assembler" for Python bytecode, to be used
in later code generation of generic functions.  The only features
missing at this point are jumps, block management, and nested scope
support.  Docs are also sketchy as yet, but I wanted to get a snapshot 
into source control before I stop work on it for now.  See assembler.txt 
for examples of what's implemented so far.

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

  Diffs between and
  Type of Diff should be a

Sort log by:

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help