Subject: small C compiler

From: "killroy732000" <[email-masked]>
Date: Thu, 11 Feb 2010 19:27:53 -0000

Hi TI friends,

I'm looking for some background information on the inner workings 
of small C compilers, e.g. primary register concept.

Strangely enough I was not able to find much information in the internet. So far I have only found reference to the James E. Hendrix book (a pretty expensive book by the way). 

I checked whtech and the C compiler there but, perhaps a bit more info is available ?

Are there still any active c99 compiler user on this group ?

Cheers
Filip

---

From: "Jacques Groslouis" <[email-masked]>
Date: Thu, 11 Feb 2010 16:20:37 -0400

I do not know if this would help. The source code for Clint Pulley's c99 
compiler is on the wht site under news/cat12. These are the names of some 
files.

C99R4.ARK    c99 release 4.0 (updates release 3.0)
C99R4GN.ARK  c99 release 4.0
C99SRC.ARK   Source code for c99 v4.0 for compiler
C99SYNT.ARK  c99 Syntax Diagrams

Jacques

----- Original Message ----- 
From: "killroy732000" <[email-masked]>
To: <[email-masked]>
Sent: Thursday, February 11, 2010 3:27 PM
Subject: [TI994A] small C compiler

> Strangely enough I was not able to find much information in the internet. 
> So far I have only found reference to the James E. Hendrix book (a pretty 
> expensive book by the way).
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>

---

From: "Matthew" <[email-masked]>
Date: Thu, 11 Feb 2010 22:43:57 -0000

There are plenty of books on compilerd and language construction.  Go to Amazon and search for "compiler construction".  I currently have these books:

Compiler Construction Principles and Practice (Louden)
Crafting a Compiler with C (Fischer, LeBlanc Jr)
Writing Interactive Compilers and Interpreters (Brown)
Introduction to Compiler Construction (Parsons)
Compilers - Principles, Techniques, and Tools (Aho, Sethi, Ullman)
Structure and Interpretation of Computer Programs (Abelson, Sussman)

Let me just say that any book you pick up will be very *heavy* with the math and theory.  All the books I have found so far are generally geared for college courses and they *love* theory and equations.  Personally I'm more of a "working programmer" (I'm self taught, so I didn't learn the math first and code second) so much of the text is hard for me to follow, which is why I kept buying books (trying to find one that I could use).

The best for me so far is the first one (Louden) since he includes the complete source code in the back of the book for a compiler and a run time virtual machine to run the code generated by the compiler.  It is very simple, efficient, and easy to follow.  Louden's language is called Tiny and having the source code has allowed me to produce my own compilers for various projects I have worked on (both personally and professionally).  Louden has a simple web page where his code is available for download: http://www.cs.sjsu.edu/~louden/cmptext/

The second book that has helped me is the second one listed (Crafting a Compiler with C), but only because they explain a lot of the "why" of things, but there is still a ton of theory and language semantics which can be very boring and hard to follow. 

"Compilers - Principles, Techniques, and Tools" a.k.a. "The Dragon Book" is probably the most famous and thorough, but it was like reading hieroglyphics for me.

There are a few language compilers out there, but you are correct, they are hard to come by.  Probably because making a complete working language that is usable and practical takes a lot of work.

Also, I don't know why everyone is pushing for a "C" compiler on the TI.  We don't have a good platform to support C, and we would not be able to take advantage of hardly any tools, libs, etc. written in C.  Our little computer simply does not have the resources, and C does not have any graphic or sound commands, so right from the start we would have to make a lib to add support for the TI's specific hardware.  It just does not make sense to me.  Also, C sucks.  I know C, I prefer C over many languages, and I use C every day for my day job, but it still sucks.

I'm currently working on a little project of my own, but I don't like to announce vaporware so I'm keeping quite until I have something working.  Kind of a culmination of a lot of different ideas and needs over the years.  We'll see, I hope to have something working soon.

Matthew

---

From: fdos <[email-masked]>
Date: Thu, 11 Feb 2010 17:00:50 -0700

Waiting with baited breath..........  (some seafood sucks!) :-)

Bill S

Matthew wrote:
>  
> 
> There are plenty of books on compilerd and language construction. Go to 
> Amazon and search for "compiler construction". I currently have these books:
> 
> Let me just say that any book you pick up will be very *heavy* with the 
> math and theory. All the books I have found so far are generally geared 
> for college courses and they *love* theory and equations. Personally I'm 
> more of a "working programmer" (I'm self taught, so I didn't learn the 
> math first and code second) so much of the text is hard for me to 
> follow, which is why I kept buying books (trying to find one that I 
> could use).
> 
> The best for me so far is the first one (Louden) since he includes the 
> complete source code in the back of the book for a compiler and a run 
> time virtual machine to run the code generated by the compiler. It is 
> very simple, efficient, and easy to follow. Louden's language is called 
> Tiny and having the source code has allowed me to produce my own 
> compilers for various projects I have worked on (both personally and 
> professionally). Louden has a simple web page where his code is 
> available for download: http://www.cs.sjsu.edu/~louden/cmptext/ 
> <http://www.cs.sjsu.edu/~louden/cmptext/>
> 
> The second book that has helped me is the second one listed (Crafting a 
> Compiler with C), but only because they explain a lot of the "why" of 
> things, but there is still a ton of theory and language semantics which 
> can be very boring and hard to follow.
> 
> "Compilers - Principles, Techniques, and Tools" a.k.a. "The Dragon Book" 
> is probably the most famous and thorough, but it was like reading 
> hieroglyphics for me.
> 
> There are a few language compilers out there, but you are correct, they 
> are hard to come by. Probably because making a complete working language 
> that is usable and practical takes a lot of work.
> 
> Also, I don't know why everyone is pushing for a "C" compiler on the TI. 
> We don't have a good platform to support C, and we would not be able to 
> take advantage of hardly any tools, libs, etc. written in C. Our little 
> computer simply does not have the resources, and C does not have any 
> graphic or sound commands, so right from the start we would have to make 
> a lib to add support for the TI's specific hardware. It just does not 
> make sense to me. Also, C sucks. I know C, I prefer C over many 
> languages, and I use C every day for my day job, but it still sucks.
> 
> I'm currently working on a little project of my own, but I don't like to 
> announce vaporware so I'm keeping quite until I have something working. 
> Kind of a culmination of a lot of different ideas and needs over the 
> years. We'll see, I hope to have something working soon.
> 
> Matthew
> 
> --- In [email-masked] <mailto:TI994A%40yahoogroups.com>, 
> "killroy732000" <filip.van-vooren@...> wrote:
>  >
>  > Hi TI friends,
>  >
>  > Strangely enough I was not able to find much information in the 
> internet. So far I have only found reference to the James E. Hendrix 
> book (a pretty expensive book by the way).
>  >

---

From: "killroy732000" <[email-masked]>
Date: Fri, 12 Feb 2010 07:07:55 -0000

Hi Matthew,

thanks for the detailed answer.
Just recently I got myself the O'Reillys "flex/bison" book 
(http://oreilly.com/catalog/9780596155988). Also have a copy of the dragon book, but as you said that's really hardcore.

Anyway, will check out the other books you mentioned.

I now also think that a full blown GNU C compiler is a lot of overkill for our little machine and 
I have no interest in setting up a TCP/IP stack on the TI.

I want to use C for writing games. That is why I'm specificially looking for internals on 
small C compilers. The idea is to roll my own little cross-compiler or enhance an existing
one. 

I think that cc65 (6502 C compiler - http://www.cc65.org) is based on small C and 
something like  that would be better suited for the TI.

On a sidenote:
I want to make my SPECTRA game library compatible with C99.

The design of SPECTRA (stack based) should allow it to work very nicely together with C99.
Biggest obstacle I found until now is that the SPECTRA stack and C99 stack grow in opposite
directions. So this will most likely force me to change SPECTRA.
Other than that, this could really fly. I think the resulting program could even run 
on a bare console if I change the stack base address accordingly.

--- In [email-masked], "Matthew" <matthew@...> wrote:
> --- In [email-masked], "killroy732000" <filip.van-vooren@> wrote:
> >
> > Hi TI friends,
> >

---

From: mark wills <[email-masked]>
Date: Thu, 11 Feb 2010 23:24:26 -0800 (PST)

There is a DOS Small C Compiler for the TI... It chucks out 9900 source code.

I have the source and the executables. It looked fairly simple to follow. It is actually a port of
Clint Pulley's C99 - but runs on the PC.

I'm sure it could be easily enhanced to add extra features.

I would like to see structures, for example.

But I don't do much C. I'm really not a fan of the language. And in a cross development environment, I can work a lot faster with Assembly and ASM99 than I could with C.

M

>
>From: killroy732000 <[email-masked]>
>To: [email-masked]
>Sent: Fri, 12 February, 2010 8:07:55
>Subject: [TI994A] Re: small C compiler
>
> >
>
>
>
>
>  >
>>      
> 
>Hi Matthew,
>
>>(http://oreilly. com/catalog/ 9780596155988). Also have a copy of the dragon book, but as you said that's really hardcore.
>
>>I think that cc65 (6502 C compiler - http://www.cc65. org) is based on small C and 
>>--- In TI994A@yahoogroups. com, "Matthew" <matthew@... > wrote:
>>>
>>> There are plenty of books on compilerd and language construction.  Go to Amazon and search for "compiler construction" .  I currently have these books:
>>> 
>>> The best for me so far is the first one (Louden) since he includes the complete source code in the back of the book for a compiler and a run time virtual machine to run the code generated by the compiler.  It is very simple, efficient, and easy to follow.  Louden's language is called Tiny and having the source code has allowed me to produce my own compilers for various projects I have worked on (both personally and professionally) .  Louden has a simple web page where his code is available for download: http://www.cs. sjsu.edu/ ~louden/cmptext/
>>> 
>>> --- In TI994A@yahoogroups. com, "killroy732000" <filip.van-vooren@ > wrote:
>>> >
>>> > Hi TI friends,
>>> >

---

From: "Matthew" <[email-masked]>
Date: Fri, 12 Feb 2010 16:18:05 -0000

Yeah, Flex and Bison are good tools for sure, but they do not interest me.  I *want* to write the code they are generating for me...  Call me sadistic I guess, but I've come to realize I like being a tool builder more than a creator.  I'll write the compiler, let someone else make the games and apps.

Yes, I agree with you that a full blown C compiler is way overkill for the TI, and I also think a TCP/IP stack implemented on the TI itself is not practical.  Having a C compiler for the TI would not magically open it up to a bunch of new and wonderful things.  While a TCP/IP stack might be nice and fun to play with, it will need to be implemented as a peripheral (via a micro-controller perhaps) that handles all the details and simply passes the bytes to our programs as we request them.

I too simply wanted to write games, and TI's BASIC/XB were so painfully slow that, like most people, I got into assembly.  Even though I could do my games in assembly now, I find I have more interest in making tools (as noted above).

Personally I don't like C's syntax much, or languages modeled after it.  C is very complicated to tokenize and parse, and the format is too open and promotes endless formatting wars like where the curly braces go, tabs vs. spaces for indentation...  Post increment, pre-increment, semicolon to end the line, blah blah blah.  Yuck, who needs all that crap and hassle anyway?

I also don't like a lot of things about BASIC either.  I'm just too grumpy and cynical these days. ;-)

I do like assembly though, one command per line, very concise, very clean.  But I do think high-level languages are a necessary evil too.

I'm currently working on my own solution, but like I said before, I'm not interested in announcing vaporware.  This is a hobby for all of us and sometimes things stall for months or years.  If anyone is interested in details or maybe a collaboration of some sort (if our ideas are in line with one another), send me a private email.

A couple of us already tried this last year, and even with just about 4 people we could not agree on some fundamental design aspects.  HaHa!  I can't imagine the people in this group having a difference of opinion... ;-)

Matthew

--- In [email-masked], "killroy732000" <filip.van-vooren@...> wrote:
> --- In [email-masked], "Matthew" <matthew@> wrote:
> >

---

From: Owen Brand <[email-masked]>
Date: Fri, 12 Feb 2010 11:26:56 -0500

Wish I knew more---I'd love to help, but I am a "high-level-language- 
only" guy for the time being--- although I have learned quite a bit  
from your TMS9900 tutorials I put up on my website.  :). Hoping for  
more of those to play with and add to my assembly tutorial section of  
Opry99er.  :)

Owen Brand
Opry99er.com

On Feb 12, 2010, at 11:18 AM, "Matthew" <[email-masked]> wrote:

> Yeah, Flex and Bison are good tools for sure, but they do not  
> interest me. I *want* to write the code they are generating for  
> me... Call me sadistic I guess, but I've come to realize I like  
> being a tool builder more than a creator. I'll write the compiler,  
> let someone else make the games and apps.
>
> Yes, I agree with you that a full blown C compiler is way overkill  
> for the TI, and I also think a TCP/IP stack implemented on the TI  
> itself is not practical. Having a C compiler for the TI would not  
> magically open it up to a bunch of new and wonderful things. While a  
> TCP/IP stack might be nice and fun to play with, it will need to be  
> implemented as a peripheral (via a micro-controller perhaps) that  
> handles all the details and simply passes the bytes to our programs  
> as we request them.
>
> I too simply wanted to write games, and TI's BASIC/XB were so  
> painfully slow that, like most people, I got into assembly.  Even  
> though I could do my games in assembly now, I find I have more  
> interest in making tools (as noted above).
>
> Personally I don't like C's syntax much, or languages modeled after  
> it. C is very complicated to tokenize and parse, and the format is  
> too open and promotes endless formatting wars like where the curly  
> braces go, tabs vs. spaces for indentation... Post increment, pre- 
> increment, semicolon to end the line, blah blah blah. Yuck, who  
> needs all that crap and hassle anyway?
>
> I do like assembly though, one command per line, very concise, very  
> clean. But I do think high-level languages are a necessary evil too.
>
> I'm currently working on my own solution, but like I said before,  
> I'm not interested in announcing vaporware. This is a hobby for all  
> of us and sometimes things stall for months or years. If anyone is  
> interested in details or maybe a collaboration of some sort (if our  
> ideas are in line with one another), send me a private email.
>
> A couple of us already tried this last year, and even with just  
> about 4 people we could not agree on some fundamental design  
> aspects. HaHa! I can't imagine the people in this group having a  
> difference of opinion... ;-)
>
> Matthew
>
> > (http://oreilly.com/catalog/9780596155988). Also have a copy of  
> the dragon book, but as you said that's really hardcore.
> >
> > > There are plenty of books on compilerd and language  
> construction. Go to Amazon and search for "compiler construction". I  
> currently have these books:
> > >
> > > Let me just say that any book you pick up will be very *heavy*  
> with the math and theory. All the books I have found so far are  
> generally geared for college courses and they *love* theory and  
> equations. Personally I'm more of a "working programmer" (I'm self  
> taught, so I didn't learn the math first and code second) so much of  
> the text is hard for me to follow, which is why I kept buying books  
> (trying to find one that I could use).
> > >
> > > The best for me so far is the first one (Louden) since he  
> includes the complete source code in the back of the book for a  
> compiler and a run time virtual machine to run the code generated by  
> the compiler.  It is very simple, efficient, and easy to follow.  
> Louden's language is called Tiny and having the source code has  
> allowed me to produce my own compilers for various projects I have  
> worked on (both personally and professionally). Louden has a simple  
> web page where his code is available for download: http://www.cs.sjsu.edu/~louden/cmptext/
> > >
> > > The second book that has helped me is the second one listed  
> (Crafting a Compiler with C), but only because they explain a lot of  
> the "why" of things, but there is still a ton of theory and language  
> semantics which can be very boring and hard to follow.
> > >
> > > "Compilers - Principles, Techniques, and Tools" a.k.a. "The  
> Dragon Book" is probably the most famous and thorough, but it was  
> like reading hieroglyphics for me.
> > >
> > > There are a few language compilers out there, but you are  
> correct, they are hard to come by. Probably because making a  
> complete working language that is usable and practical takes a lot  
> of work.
> > >
> > > Also, I don't know why everyone is pushing for a "C" compiler on  
> the TI. We don't have a good platform to support C, and we would not  
> be able to take advantage of hardly any tools, libs, etc. written in  
> C. Our little computer simply does not have the resources, and C  
> does not have any graphic or sound commands, so right from the start  
> we would have to make a lib to add support for the TI's specific  
> hardware. It just does not make sense to me. Also, C sucks. I know  
> C, I prefer C over many languages, and I use C every day for my day  
> job, but it still sucks.
> > >
> > > I'm currently working on a little project of my own, but I don't  
> like to announce vaporware so I'm keeping quite until I have  
> something working. Kind of a culmination of a lot of different ideas  
> and needs over the years. We'll see, I hope to have something  
> working soon.
> > >
> > > Matthew
> > >
> > >
> > > > Strangely enough I was not able to find much information in  
> the internet. So far I have only found reference to the James E.  
> Hendrix book (a pretty expensive book by the way).
> > > >

---

From: fdos <[email-masked]>
Date: Fri, 12 Feb 2010 09:44:12 -0700

Owen,

Did you ever get a chance to check out that disk image of XXB and other 
XB goodies I sent you?  I know at the time you just got a new laptop, 
and that occupied your time just learning all the fascinating aspects of 
that powerful toy. :-)

Bill S

Owen Brand wrote:
>  
> 
> Wish I knew more---I'd love to help, but I am a 
> "high-level-language-only" guy for the time being--- although I have 
> learned quite a bit from your TMS9900 tutorials I put up on my website. 
>  :). Hoping for more of those to play with and add to my assembly 
> tutorial section of Opry99er.  :) 
> 
> Owen Brand
> Opry99er.com <http://Opry99er.com>
> 
> On Feb 12, 2010, at 11:18 AM, "Matthew" <[email-masked] 
> <mailto:[email-masked]>> wrote:
> 
>>  
>>
>> Yeah, Flex and Bison are good tools for sure, but they do not interest 
>> me. I *want* to write the code they are generating for me... Call me 
>> sadistic I guess, but I've come to realize I like being a tool builder 
>> more than a creator. I'll write the compiler, let someone else make 
>> the games and apps.
>>
>> Yes, I agree with you that a full blown C compiler is way overkill for 
>> the TI, and I also think a TCP/IP stack implemented on the TI itself 
>> is not practical. Having a C compiler for the TI would not magically 
>> open it up to a bunch of new and wonderful things. While a TCP/IP 
>> stack might be nice and fun to play with, it will need to be 
>> handles all the details and simply passes the bytes to our programs as 
>> we request them.
>>
>> it. C is very complicated to tokenize and parse, and the format is too 
>> open and promotes endless formatting wars like where the curly braces 
>> go, tabs vs. spaces for indentation... Post increment, pre-increment, 
>> semicolon to end the line, blah blah blah. Yuck, who needs all that 
>> crap and hassle anyway?
>>
>> I'm currently working on my own solution, but like I said before, I'm 
>> not interested in announcing vaporware. This is a hobby for all of us 
>> and sometimes things stall for months or years. If anyone is 
>> A couple of us already tried this last year, and even with just about 
>> 4 people we could not agree on some fundamental design aspects. HaHa! 
>> I can't imagine the people in this group having a difference of 
>> opinion... ;-)
>>
>> Matthew
>>
>> > ( 
>> <http://oreilly.com/catalog/9780596155988>http://oreilly.com/catalog/9780596155988). 
>> Also have a copy of the dragon book, but as you said that's really 
>> hardcore.
>> >
>> > I think that cc65 (6502 C compiler - 
>> <http://www.cc65.org>http://www.cc65.org) is based on small C and
>> "Matthew" <matthew@> wrote:
>> > >
>> > > There are plenty of books on compilerd and language construction. 
>> Go to Amazon and search for "compiler construction". I currently have 
>> these books:
>> > >
>> > > The best for me so far is the first one (Louden) since he includes 
>> the complete source code in the back of the book for a compiler and a 
>> run time virtual machine to run the code generated by the compiler. It 
>> is very simple, efficient, and easy to follow. Louden's language is 
>> called Tiny and having the source code has allowed me to produce my 
>> own compilers for various projects I have worked on (both personally 
>> and professionally). Louden has a simple web page where his code is 
>> available for download: 
>> <http://www.cs.sjsu.edu/~louden/cmptext/>http://www.cs.sjsu.edu/ 
>> <http://sjsu.edu/>~louden/cmptext/
>> > >
>> > > "Compilers - Principles, Techniques, and Tools" a.k.a. "The Dragon 
>> Book" is probably the most famous and thorough, but it was like 
>> reading hieroglyphics for me.
>> > >
>> > > There are a few language compilers out there, but you are correct, 
>> they are hard to come by. Probably because making a complete working 
>> language that is usable and practical takes a lot of work.
>> > >
>> C. Our little computer simply does not have the resources, and C does 
>> not have any graphic or sound commands, so right from the start we 
>> would have to make a lib to add support for the TI's specific 
>> hardware. It just does not make sense to me. Also, C sucks. I know C, 
>> I prefer C over many languages, and I use C every day for my day job, 
>> but it still sucks.
>> > >
>> like to announce vaporware so I'm keeping quite until I have something 
>> working. Kind of a culmination of a lot of different ideas and needs 
>> over the years. We'll see, I hope to have something working soon.
>> > >
>> > > Matthew
>> > >
>> > >
>> "killroy732000" <filip.van-vooren@> wrote:
>> > > >
>> > > > Hi TI friends,
>> > > >

---

From: "Matthew" <[email-masked]>
Date: Fri, 12 Feb 2010 18:57:17 -0000

There will be more, just gotta find a little time.

Matthew

---

From: "killroy732000" <[email-masked]>
Date: Sat, 13 Feb 2010 09:49:05 -0000

hehe, know what you mean. Never met a group of people so talented 
and all wanting to write their own compiler/interpreter, whatever.
Thinking about Turboforth, Bills' X4th, ... 

Guess a little competition never harms.

I also have an interest in writing an own (cross) compiler, and I will, but first things first.
Personally I don't mind C's syntax which you find in many, 
if not most languages in use today.

It's also the language that could boost homebrew game development 
for the TI-99/4A as most homebrewers program in C (think 
colecovision, commodore, etc.) 

Another project I'm looking at with much interest is doing a "high-
level" cross-assembler where you can have things like expressions,
local labels, macros, built-in scripting language, bank-switching support and specifically targetting game development on the TI-99/4A. 

SPECTRA will be the standard library that goes with it.
We'll see how it goes. After all it's all about having fun. 

If only a day could have 48hours ;-)

Filip

---

From: mark wills <[email-masked]>
Date: Sat, 13 Feb 2010 01:59:34 -0800 (PST)

"Another project I'm looking at with much interest is doing a "high-
level" cross-assembler where you can have things like expressions,
local labels, macros, built-in scripting language, bank-switching
support and specifically targetting game development on the TI-99/4A."

Now *THAT'S* What *I'm* talking about!!!

That would be REALLY cool!

I could guarantee that I would use that EVERY day, as I do ASM99 currently.

I fear I wouldn't use a C compiler too much, as I can code as effectively (not to mention tighter, smaller, faster) in Assembly.

For sure, assembly on some processors is sado-masochistic (Intel, I'm looking at you!) but the TI is lovely, ditto 68K

The assembler gets my vote! Go to it!

Have a look at Netbeans if you haven't already. You can use the Netbeans API in your own programs, giving your own code some truly amazing GUI facilities, with no code to write...

Mark

---

From: fdos <[email-masked]>
Date: Sat, 13 Feb 2010 09:15:48 -0700

I also believe all this development activity is a big part of what keeps 
   this group going strong.  Software/hardware development always 
invokes lively discussions and debates.

Bill S

killroy732000 wrote:
> support and specifically targetting game development on the TI-99/4A.
> 
> "Matthew" <matthew@...> wrote:
>  >
> interest me. I *want* to write the code they are generating for me... 
> Call me sadistic I guess, but I've come to realize I like being a tool 
> builder more than a creator. I'll write the compiler, let someone else 
> make the games and apps.
>  >
> for the TI, and I also think a TCP/IP stack implemented on the TI itself 
> open it up to a bunch of new and wonderful things. While a TCP/IP stack 
> might be nice and fun to play with, it will need to be implemented as a 
> peripheral (via a micro-controller perhaps) that handles all the details 
> and simply passes the bytes to our programs as we request them.
>  >
> painfully slow that, like most people, I got into assembly. Even though 
> I could do my games in assembly now, I find I have more interest in 
> making tools (as noted above).
>  >
> semicolon to end the line, blah blah blah. Yuck, who needs all that crap 
> and hassle anyway?
>  >
> and sometimes things stall for months or years. If anyone is interested 
> in details or maybe a collaboration of some sort (if our ideas are in 
> line with one another), send me a private email.
>  >
> 4 people we could not agree on some fundamental design aspects. HaHa! I 
> can't imagine the people in this group having a difference of opinion... ;-)
>  >
>  >
>  > Matthew
>  >
>  >
>  > > (http://oreilly.com/catalog/9780596155988 
> <http://oreilly.com/catalog/9780596155988>). Also have a copy of the 
> dragon book, but as you said that's really hardcore.
>  > >
>  > > I think that cc65 (6502 C compiler - http://www.cc65.org 
> <http://www.cc65.org>) is based on small C and
> taught, so I didn't learn the math first and code second) so much of the 
> text is hard for me to follow, which is why I kept buying books (trying 
> to find one that I could use).
>  > > >
> includes the complete source code in the back of the book for a compiler 
> and a run time virtual machine to run the code generated by the 
> compiler. It is very simple, efficient, and easy to follow. Louden's 
> language is called Tiny and having the source code has allowed me to 
> produce my own compilers for various projects I have worked on (both 
> personally and professionally). Louden has a simple web page where his 
> code is available for download: http://www.cs.sjsu.edu/~louden/cmptext/ 
> (Crafting a Compiler with C), but only because they explain a lot of the 
> "why" of things, but there is still a ton of theory and language 
> Dragon Book" is probably the most famous and thorough, but it was like 
> correct, they are hard to come by. Probably because making a complete 
> working language that is usable and practical takes a lot of work.
>  > > >
> the TI. We don't have a good platform to support C, and we would not be 
> able to take advantage of hardly any tools, libs, etc. written in C. Our 
> little computer simply does not have the resources, and C does not have 
> any graphic or sound commands, so right from the start we would have to 
> make a lib to add support for the TI's specific hardware. It just does 
> not make sense to me. Also, C sucks. I know C, I prefer C over many