llvm-project/stacker/lib/compiler
Reid Spencer 4da2c8b6a5 Adjust to CallInst::CallInst interface changes.
llvm-svn: 34402
2007-02-19 05:05:07 +00:00
..
.cvsignore For PR1074: 2007-01-17 02:18:44 +00:00
Lexer.cpp.cvs For PR1074: 2007-01-17 02:18:44 +00:00
Lexer.l For PR1074: 2007-01-17 02:18:44 +00:00
Lexer.l.cvs For PR1074: 2007-01-17 02:18:44 +00:00
Makefile Make Stacker makefiles more compliant with LLVM standards. 2007-02-04 22:25:16 +00:00
README For PR1074: 2007-01-17 02:18:44 +00:00
StackerCompiler.cpp Adjust to CallInst::CallInst interface changes. 2007-02-19 05:05:07 +00:00
StackerCompiler.h For PR1074: 2007-01-17 02:18:44 +00:00
StackerParser.cpp.cvs For PR411: 2007-02-05 20:47:22 +00:00
StackerParser.h.cvs For PR411: 2007-02-05 20:47:22 +00:00
StackerParser.y For PR411: 2007-02-05 20:47:22 +00:00
StackerParser.y.cvs For PR411: 2007-02-05 20:47:22 +00:00

README

This directory contains a sample language front end for LLVM.

It is a *very* simple/crude implementation of FORTH. It has many
deficiencies but provides enough basics to give you an idea of 
what programming a new language front end for LLVM  looks like.

To keep things simple, Stacker has the following limitations:
1. Only a single, global stack is manipulated.
2. There is no interpretation, everything is compiled.
3. There's no type/bounds checking .. you're on your own.
4. There's no floating point support.
5. Only stdin can be read. Only stdout can be written. No other 
   file I/O is supported.

As such, this isn't a very useful language for anything other than
the most trivial of programs. It is, however, a good learning tool
(for both the author and the student).

Reid Spencer
16 November 2003