[A86] Re: Alternative Language compiler for the z80.


[Prev][Next][Index][Thread]

[A86] Re: Alternative Language compiler for the z80.







>From: "David Phillips" <david@acz.org>
>Reply-To: assembly-86@lists.ticalc.org
>To: <assembly-86@lists.ticalc.org>
>Subject: [A86] Re: Alternative Language compiler for the z80.
>Date: Mon, 24 Sep 2001 21:19:11 -0700
>
>
> > (2) Java style object file production - In other words, one object file
> > being produced for one source file.  None of this header file buisness.
>
>I disagree.  It is a must to assemble everything together.  If it is to
>generate "normal" programs, then you are limited 8k.  If you want to use
>techiniques similiar to Zelda 86 to have larger programs, that is possible,
>and the process could be assisted by the compiler or assembler.  The object
>code still needs to be generated all at once (or in two stages).
>
>The traditional compile -> assemble -> link phase does not work when you
>can't easily generate relocatable code.  There are different ways this 
>could
>be done.  You could either have a single program that uses the preprocessor
>to include all the source files (if there even is a preprocessor), or it
>could be a different feature of the language, or the compiler.
>

I deffinately see your point of view on this.  In general I like the idea of 
having small object modules that are dynamicall linked as need be at run 
time.  I think that if we where designing and entire OS/Compiler system from 
stratch that such a modular object code paradigm could be usefull.  
Something that llows the system to leverage the same code without copying 
itseval times.  If all we are trying to do is build a new compiler for the 
current TI-OS, I can deffinately see this sort of goal being not worth the 
trouble.  And in fact it might turn out to be not worth the trouble if we 
where starting from scratch.

So I could totally live with assembling everything together.

>
>Would the default type be signed or unsigned?

I would like to say that the base type have no notion of signedness.  The 
base type would just be a raw byte.  But this would require the ability for 
the user to provide definitions of operators.  I'm not exactly sure where I 
stand on this yet.

>
>I'd like to take some time to learn LISP, especially after reading some 
>very
>cool stuff about it, but haven't had the time.  Do you have any good
>websites or books to recommend?  I haven't looked yet, so maybe a Google
>search will be all I need.

I'm sure a Google search will tell you all you need to know.  I personally 
learned it from the book "Structure and Interpretation of Computer 
Programs".  An online version of it can be found at:

http://mitpress.mit.edu/sicp/full-text/book/book.html

This is my assessment of LISP.  It tries to be small, simple, elegant, and 
self consistant.  A beleave that LISP acheives this goal, but I do not have 
a very high openion of the result.  Programs written in this language are 
not very readable.  Perhaps I just never learned to appreciate the look of 
the language.  My openion is that the grammar is so simple and self 
consistant that it is actually a detriment.  The basic syntax is ( 
<operator> Param1, Param2, Param3 ).  Where all parenthesis pairs result in 
a "function call" with a return value.  There are a few special built-in 
operators depending on the dialect of LISP, but this is the main look and 
feel.

for example:

( * ( + 3 4 ) 2 ) => 14

One positive result of this language is that it is very easy to parse.  In 
fact when you construct programs, you are basically building the parse tree 
in a list form.  It's just right there.  Well anyways, I'm sure yaw are 
easily capible of looking it up yourselves, I'm just going on and on. ;)



_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp