Jal (Just Another Language) is a High Level Language for the Microchip PIC 16f84 (and the older 16c84) and Scenix SX18 and SX28 microcontrollers.
Jal is just another language. I created jal because I did not like any of the low-cost high-level languages for the 16f84 and implementing a high level language seemed a nice project. (And so it turned out, but also much more work than I had imagined.) Implementing an existing HLL seemed more difficult and less fun than creating my own, so I just started writing the compiler and the language evolved on the fly.
Jal is an algol-style meekly typed block scoped language. It looks a lot like Pascal, but if you want to call it a 'structured Basic' or a 'microcontroller Ada' that's fine with me. Most aspects of the language will be familiar to anyone who has experience in at least one mainstream HLL. A few of the more exotic features are pseudo-variables, no division between declarations and statements, named parameters with defaults.
The jal compiler is cardware: you are free to copy and use the compiler for whatever purpose you want, but I would like to be notified (by postcard, email or whatever) of any significant use . There is absolutely no warranty for the fitness of the provided software and documentation for any purpose. The use of jal for life-critical or weapons systems is explicitly forbidden.
The jal libraries are covered by the GNU Library General Public License, which means that you are free to distribute either these libraries or derived versions. You are even allowed to ask money for it, but you are not allowed to remove the GPL notice. There is no such obligation for the compiled version (hex file), so you can freely sell or (give away) a product which contains these libraries in compiled form.
All reactions (experiences, suggestions, projects, bugs, whatever) are welcome. If you have usefull jal code which you want to share I could put it in the jal library.
Wouter van Ooijen