|
|
E Language
By 1985, I had outgrown BASIC and was looking for a more modern
programming language. So, I invented one! The E language combined
elements of BASIC, C, and Pascal. It was block-structured and
procedural with local variables, parameter passing, pointers, and
user-definable data types. It also compiled and ran fast!
I used the E language to develop the majority of the software on the
Genius 2 computer.
E Language for 68000
Years: 1985-1992
Language: E language
Size: 7K lines (compiler), 3K lines (assembler), 1K lines (linker)
The E language development tools consisted of the E language compiler,
assembler, and linker. The compiler generated 68000 assembly language
that was then assembled and linked. All three programs were written in
the E language and could process their own source code. This raises the
question: how did I get the first version? Answer: I used an older E
language compiler written in 68000 assembly language, and an older 68000
assembler written in BASIC 5.1 to bootstrap the process. Once working,
the tool chain could perpetuate itself.
Whereas older programs used arrays as the primary data structure, the E
language compiler made good use of linked lists, trees, and hash tables.
E Language for Windows
Year: 1995
Language: E language
Size: 7K lines (compiler)
In 1995, I rewrote the compiler's code generator to output C instead of
68000 assembly language. Then, the Microsoft C compiler and linker were
invoked. Together with a port of the E language runtime, E language
programs could run on Windows!
|