ML1 Compiler Update: 7/11/07

I just posted an upgraded version of the ML1 Macro Driven Compiler (which is not ML/1 or ML/I) to '

formatting link
'. ML1 is an extensable macro cross compiler that runs on DOS and will compile for a variety of CPU's (you write the macros). Included are macro sets that define an simple low level object oriented DOS programming language (the language the compiler is written in).

ML1's features include:

o The ML1 License agreement doesn't require you to pay any fees, or distribute your sourcecode. o Compiler outputs assembly language with comments. o A macro driven user programmable Expressiion Processor. o A user programmable Code Generator. o A user programmable Peephole Optimizer that tracks up to 32 registers. o Simple one command compile and link. o Included quick reference guide and tutorial, with optimization examples for expressions, register load, and IF statements. o Supports user defined Object Oriented language definitions. o The entire compiler is written in ML1 and itself is a 45K program, which is a good example of ML1 runtime code efficiency. o Included video and cursor menu libraries. o All library code is ML1 and ASM sourcecode. o Includes many examples including a 128 Bit integer custom type with simple expression macros for using it in expressions. o Supports Unrolled loop optimizations. o The new version has updated and expanded documentation with examples. o Includes optional compile-in runtime debugging code. o Includes new Macro libraries for easy to use runtime buffered input/output.

The included macro sets can be adapted to other (non 386+) CPUs.

Steven D. Nichols

formatting link

Reply to
Steven Nichols
Loading thread data ...

Sounds interesting. I do not see any code example pages, nor list of supported controller cores ? Does this purely target dos applications, or is it usable as a cross-compiler under windows command line ? Web page states "making it useful for programming microcontrollers", but the rest reads less portable.

-jg

Reply to
Jim Granville

The ML1 compiler documentation is full of code examples as are the directories that contain the library and runtime routine sourcecode. To find out more just DL the comiler and scan the '.txt' documentation. 'LIST76A.ZIP' from the website makes reading the documentation easy. There are also examples from a 'C' programmer perspective.

The ML1 cross compiler runs on DOS and is a general purpose code generator/macro language machine.

To make it output code for other than 80x86 processors you can either change the existing language (vial the macros) to output equivalent code for another CPU, or you can define your own language script from the ground up. The included macros support DOS 16 bit addressing and can be modified for 32 bit addressing. I have spent most of my time working on the guts of the compiler itself, rather than writing macro sets for various CPU's.

I kept the webpage simple and to the point to make it easy to find and download the compiler.

The compiler executable should run in a DOS window on Windows as it only makes conventional DOS system calls, but I have only tested it with DR DOS, MS DOS, and DOSEMU/Freedos on Linux, which all work fine. ML1 is different. Steve

formatting link

Reply to
Steven Nichols

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.