post

Pascal-M 1978 Cross compiler

The original 1978 version of Pascal-M, a P2 descendent, has been restored. Original source, which can compile itself, is now available, as a cross compiler, an interpreter in Pascal with debugging facilities, a binary loader for the KIM-1 6502 interpreter and a disassembler for M-code. Together with the already available source of the KIM-1 V1 interpreter all parts of the 1978 compiler are now available in source and compiled/assembled format.

Though compiling itself is a very good test of the compiler, which showed many bugs from typing in and some original present bugs, not too much testing has been done.

I start working now on V1.5 of the cross compiler and leave this V1.0 version as ‘completed’ and ‘historical purposes’.

post

Wirth and more: large update

A large update to my history of Pascal and its standards, where it comes from, the early compilers, sources of first compilers, unique articles and rare books, originally scanned, written by Niklaus Wirth, Per Brinch Hansen, Tony Hoare, Dijkstra, Jim Welsh and many more. Enjoy!

Lilith section updated

I have added the repository by Jos Dreesen on Lilith and the Emulith emulator with a local copy.
Jos maintains a ftp with just the files, I made it available as web pages here with higher availability and easier viewing of images and videos.

Emulith

Modern Object Pascal guide

Link to Quick Modern Object Pascal for Programmers

Michalis Kamburelis and contributors: Maciej Izak

There are many books and resources about Pascal out there, but too many of them talk about the old Pascal, without classes, units or generics.

So I wrote this quick introduction to what I call modern Object Pascal. Most of the programmers using it don’t really call it “modern Object Pascal”, we just call it “our Pascal”. But when introducing the language, I feel it’s important to emphasize that it’s a modern, object-oriented language. It evolved a lot since the old (Turbo) Pascal that many people learned in schools long time ago. Feature-wise, it’s quite similar to C++ or Java or C#.

  • It has all the modern features you expect — classes, units, interfaces, generics…
  • It’s compiled to a fast, native code,
  • It’s very type safe,
  • High-level but can also be low-level if you need it to be.

It also has excellent, portable and open-source compiler called the Free Pascal Compiler, http://freepascal.org/ . And an accompanying IDE (editor, debugger, a library of visual components, form designer) called Lazarushttp://lazarus.freepascal.org/ . Myself, I’m the creator of Castle Game Engine, http://castle-engine.sourceforge.net/ , which is a cool portable 3D and 2D game engine using this language to create games on many platforms (Windows, Linux, MacOSX, Android, iOS, web plugin).

This introduction is mostly directed at programmers who already have experience in other languages. We will not cover here the meanings of some universal concepts, like “what is a class”, we’ll only show how to do them in Pascal.

See here!