a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
35 lines
1.7 KiB
Plaintext
35 lines
1.7 KiB
Plaintext
PEAPI
|
|
-----
|
|
|
|
This is a preliminary version of our PE writer component. It is a managed
|
|
component which presents on the client side an API and constructs program
|
|
executable files.
|
|
|
|
We have tested this component as an alternative backend for Gardens Point
|
|
Component Pascal .NET. Our previous versions of gpcp produced textual CIL and
|
|
invoked ilasm. The new backend can create a program executable file in almost
|
|
exactly the same length of time as it takes to write the equivalent CIL text
|
|
file.
|
|
|
|
PEAPI is written in C# and is released as open source under a FreeBSD-like
|
|
licence. Included in this release is pdf documentation and both html and
|
|
chm documentation. The main documentation is written as if it was a new
|
|
Appendix to John Gough's book Compiling for the .NET Common Language Runtime,
|
|
Prentice-Hall 2002.
|
|
|
|
The current release implements most of the facilities of the API however,
|
|
some final features not required for component pascal have yet to be added.
|
|
We expect to update the component incrementally as additional features are
|
|
added. Currently the component does not produce debugger information (pdb
|
|
files). We are considering possible ways of doing this or alternatively
|
|
producing rotor-format debugging information.
|
|
|
|
The team has a committment to maintain and update the component into the
|
|
foreseeable future, as several other projects here depend on it. Users are
|
|
encouraged to send feedback on missing features, bug reports etc. to assist
|
|
in this quest.
|
|
|
|
Update (18th Apr 2005)
|
|
|
|
Some portions of the code have been taken from PERWAPI (http://www.plas.fit.qut.edu.au/perwapi/Default.aspx), which extends PEAPI. It is developed by Diane Corney.
|