the work needed to transform tree-like structures into linear bytecode |
the work needed to transform tree-like structures into linear bytecode |
instructions, and includes the ability to do compile-time constant folding. |
instructions, and includes the ability to do compile-time constant folding. |
|
|
|
Changes since version 0.0.1: |
|
|
|
* Added massive quantities of new documentation and examples |
|
|
|
* Full block, loop, and closure support |
|
|
|
* High-level functional code generation from trees, with smart labels and |
|
blocks, constant folding, extensibility, smart local variable names, etc. |
|
|
|
* The ``.label()`` method was renamed to ``.here()`` to distinguish it from |
|
the new smart ``Label`` objects. |
|
|
|
* Docs and tests were moved to README.txt instead of assembler.txt |
|
|
|
* Added a demo that implements a "switch"-like statement template that shows |
|
how to extend the code generation system and how to abuse ``END_FINALLY`` |
|
to implement a "computed goto" in bytecode. |
|
|
|
* Various bug fixes |
|
|
There are a few features that aren't tested yet, and not all opcodes may be |
There are a few features that aren't tested yet, and not all opcodes may be |
fully supported. Notably, the following features are NOT reliably supported |
fully supported. Notably, the following features are still NOT reliably |
yet: |
supported yet: |
|
|
* Wide jump addressing (for generated bytecode>64K in size) |
* Wide jump addressing (for generated bytecode>64K in size) |
|
|
|
|
If you find any other issues, please let me know. |
If you find any other issues, please let me know. |
|
|
|
Please also keep in mind that this is a work in progress, and the API may |
|
change if I come up with a better way to do something. |
|
|
|
Questions and discussion regarding this software should be directed to the |
|
`PEAK Mailing List <http://www.eby-sarna.com/mailman/listinfo/peak>`_. |
|
|
.. contents:: Table of Contents |
.. contents:: **Table of Contents** |
|
|
|
|
-------------- |
-------------- |