The Concept : in brief:
The goal is a simple Pascal compiler that is easy to use, with an integrated IDE, specifically targeting ARMv5/ARMv6/ARMv7/ARMv8 CPU's, and with extras specific to the Raspberry Pi.
In addition to the normal stuff, the compiler will also include units for GPIO, and creation and management of GUI objects in a very simple way. Further it will have the ability to target Raspberry Pi bare metal, with an extensive set of units to dirrectly play with the hardware on the bare metal level.
The goal is a compiler that simplifies life for newer programmers (as well as the rest of us), is capable of targetting as many Raspberry Pi Operating Systems as possible (including Linux and RISC OS), is useful for OS development and other bare metal applications, is open source (MIT licensed), and provides all units under a very permisive license (MIT license), thus reducing the restrictions on use in comercial products.
It is possible that I may decide to make the units even more permisive in there license, and go with unlicense for there license, still debating on that.
Pascal Reserved Words and builtins to Support : LIST:
Code: Select all
abs absolute and arctan array asm begin boolean break case char const continue cos div do downto else end eof eoln exp false file for function goto if implementation in inline input integer interface mod nil not object odd of on operator or output pchar pred procedure program read readln real record repeat reset rewrite round set shl shr sin sqr sqrt string succ text then to true type unit until uses var while with write writeln xor
Code: Select all
GPIO : I have not yet defined the exact functionality. though both for OS targets and bare metal. GUI : Provides window menu and widget creation and management, in the style similar to that done by Amiga BASIC or Macintosh QuickBASIC. BARE : Provides some extra stuff for baremetal, such as mailboxes, cache management, etc. THREAD : Multiprocessing releated additions.
AND I HAVE STARTED to play:
This bit of fun project I have already began working towards, getting the tokenizer and parser started this afternoon. I hope to be able to share something of a starting point soon.