Allrighdee, there’s alot of news since the last update.
* ELF (Linux) and PE (Windows) executables are produced from 1 module, allowing host system binding (calls to host os). This enables ‘Hello world’ applications on both host platforms. Exciting stuff!
* This implies the two host calling conventions (SysV and MS x64) have been implemented as well. This is a huge amount of work!
* Both sides of the calling conventions have been implemented - this means that you can call a procedure of the convention AND write your own procedures of those conventions. This is necessary for host callback procedures in BlackBox - and for clients that want to make, say, DLLs in BlackBox with procedures that can be called by C/C++/arbitrary programs.
* PE DLLs can be made of 1 module. Lots of work here!
* IF, WHILE, REPEAT, RETURN, FOR implemented. This was maybe one of the simplest parts of the work done.
* REAL and SHORTREAL arythmetic added. It uses the inherited x87 implementation. Limited use of XMM unit is implemented to allow interaction with MS x64 calling convention.
As a side-effect:
* Improved OCF decoder and disassembler, using some advice from user X512.
* A module providing convenient scanners for the OCF format is under construction. May be of use in other system-level programs.
Component Pascal native x64 compiler http://herschel.oberon.org/
April 2021 Update
As side effects:
- Most language features save type extension and pointers handling implemented.
- A downloadable package for Windows, here, easy to run and try out Herschel features.
- The binder tool now capable of producing a DLL out of an OCF module (that is, one compiled Component Pascal module)
- Compiler capable of adhering to Microsoft calling convention (mark your procedures with [ms64] sysflag)
- Produced DLL (with some language features) tested successfully in Excel VBA environment
As side effects:
- Further improvements in the OCF decoder, making decoded OCF modules easier to understand and proof-read.
- Feeling VERY uncomfortable with the A2 user experience, built a simple tool that enables A2 source editing in BlackBox (including use of all text attributes), compilation in A2’s Fox compiler, with error messages brought back into convenient BlackBox error markers.
Last edited by X512 on Tue Apr 13, 2021 2:11 pm, edited 1 time in total.