1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-30 07:22:55 +01:00
llvm-mirror/projects/Stacker/lib/compiler
Reid Spencer 46a7fdeb66 Implement PR614:
These changes modify the makefiles so that the output of flex and bison are
placed in the SRC directory, not the OBJ directory. It is intended that they
be checked in as any other LLVM source so that platforms without convenient
access to flex/bison can be compiled. From now on, if you change a .y or
.l file you *must* also commit the generated .cpp and .h files.

llvm-svn: 23115
2005-08-27 18:50:39 +00:00
..
Lexer.cpp Implement PR614: 2005-08-27 18:50:39 +00:00
Lexer.l Add support for dos-style files 2004-05-27 18:28:32 +00:00
Makefile Implement PR614: 2005-08-27 18:50:39 +00:00
README Initial stacker checkin 2003-11-23 17:52:55 +00:00
StackerCompiler.cpp WHILE does not "pop" a value, it "examines" to top of stack. Make this 2005-05-04 15:33:48 +00:00
StackerCompiler.h Eliminate tabs and trailing spaces 2005-04-23 21:26:11 +00:00
StackerParser.cpp Implement PR614: 2005-08-27 18:50:39 +00:00
StackerParser.h Implement PR614: 2005-08-27 18:50:39 +00:00
StackerParser.y Changes For Bug 352 2004-09-01 22:55:40 +00:00

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