PL/M cross-compiler for ZX Spectrum
Posted: Fri May 13, 2022 6:03 pm
as Wikipedia says, "PL/M was the first higher level programming language for microprocessor-based computers and was the original implementation language for those parts of the CP/M operating system which were not written in assembler." it was designed and developed by Gary Kildall, and used to write a lot of software for 8-bit CPUs (mostly running CP/M).
currently, there is no small and usable PL/M cross-compiler out there. there are several PL/M->C converters, and some translations of the old fortran PL/M compiler. converters are not really interesting, and fortran port is… not very easy to use/understand. so i decided to develop my own PL/M cross-compiler from the scratch.
i created this topic to force myself to finish the project (or at least make something useable ;-), so there is no ready to use software here yet. but i'm working on the thing, and i already wrote parser and semantic analyser. what it means? it means that the compiler can parse PL/M code, build and analyze AST. basically, everything is ready for code generation at this stage.
i am planning to support most PL/M-80 features, but the target platform will be ZX Spectrum, not some CP/M machine. the compiler itself is written in GNU C, and the sources will be opened under GPL license.
i hope to release Tech Preview version at the end of this month (i REALLY DO! ;-).
for now, you can download PL/M-80 manual, and check if you like the language. i think that PL/M is more beginner-friendly than C, and programming retro computers with The First Language For Microprocessors is much funnier than using C for that. ;-)
sorry for teasing you and not giving you something to play with. i will try to fix this ASAP. ;-)
currently, there is no small and usable PL/M cross-compiler out there. there are several PL/M->C converters, and some translations of the old fortran PL/M compiler. converters are not really interesting, and fortran port is… not very easy to use/understand. so i decided to develop my own PL/M cross-compiler from the scratch.
i created this topic to force myself to finish the project (or at least make something useable ;-), so there is no ready to use software here yet. but i'm working on the thing, and i already wrote parser and semantic analyser. what it means? it means that the compiler can parse PL/M code, build and analyze AST. basically, everything is ready for code generation at this stage.
i am planning to support most PL/M-80 features, but the target platform will be ZX Spectrum, not some CP/M machine. the compiler itself is written in GNU C, and the sources will be opened under GPL license.
i hope to release Tech Preview version at the end of this month (i REALLY DO! ;-).
for now, you can download PL/M-80 manual, and check if you like the language. i think that PL/M is more beginner-friendly than C, and programming retro computers with The First Language For Microprocessors is much funnier than using C for that. ;-)
sorry for teasing you and not giving you something to play with. i will try to fix this ASAP. ;-)