From mboxrd@z Thu Jan 1 00:00:00 1970 Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: moi Newsgroups: comp.lang.ada Subject: KDF9 Pascal, thanks to Ada Date: Tue, 2 Jul 2024 01:27:43 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net U24KjmB/75e5ix+6jqgHDAD8HnOOI0E+JKewOBoSPK65MWYveU Cancel-Lock: sha1:kQ6HmZw8mQO8npfZhqqo+8pfjyo= sha256:IvTbdDBBJXui0Xzn4qtNf5EdX9OqePYAoeHUTceHWBQ= User-Agent: Mozilla Thunderbird Content-Language: en-GB Xref: news.eternal-september.org comp.lang.ada:66213 List-Id: Some time ago it occurred to me that the best way to illustrate the remarkable architecture of the EE KDF9 would be to write a cross-compiler that generates idiomatic KDF9 Usercode (assembly language) and displays it in association with the source code. I chose Pascal as the source language, having compiler texts available for retargetting. PASKAL, which implements a large subset of Pascal, is now available. The only parts of Pascal not implemented are file types and packed types, including the 'text' type, which means that there is no Standard Pascal I/O. However, I provide some basic KDF9-oriented output routines as a stopgap. They are more than adequate to show the correct execution of, for example, the Whetstone Benchmark, and many other classic codes, such as Quicksort. PASKAL is written in Pascal, using the fpc compiler, and in Ada 2012, and is included with V11.2c of ee9, my KDF9 emulator (also in Ada 2012). Included with it are the following documents: * PASKAL: Users' Guide * PASKAL: Object Program Structure. * PASKAL: Implementation Overview Compiled binaries are available for: * Apple Silicon Macs * Intel Macs * 64-bit Intel (Debian Bookworm) Linux * 64-bit Rapberry Pi (Debian Bookworm) OS The Intel Linux binary should run under WSL on MS Windows 10 or 11. Get your copy here: There is a direct link there to the Users' Guide. It includes an example of a complete Pascal program and the corresponding KDF9 Usercode, should that be the extent of your interest. Enjoy. -- Bill F.