llvm-6502/projects/Stacker/lib/compiler
Reid Spencer 3ed469ccd7 For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 20:25:50 +00:00
..
.cvsignore Ignore generated files. 2006-03-23 23:51:43 +00:00
Lexer.cpp.cvs Convert over to the new way of handling lex/bison checked into cvs 2006-02-15 07:26:07 +00:00
Lexer.l Add support for dos-style files 2004-05-27 18:28:32 +00:00
Lexer.l.cvs Convert over to the new way of handling lex/bison checked into cvs 2006-02-15 07:26:07 +00:00
Makefile Fix a race condition in the makefile that broke grawp's tester last night. 2006-08-25 17:15:23 +00:00
README Initial stacker checkin 2003-11-23 17:52:55 +00:00
StackerCompiler.cpp For PR786: 2006-11-02 20:25:50 +00:00
StackerCompiler.h For PR797: 2006-08-18 09:07:54 +00:00
StackerParser.cpp.cvs Convert over to the new way of handling lex/bison checked into cvs 2006-02-15 07:26:07 +00:00
StackerParser.h.cvs Convert over to the new way of handling lex/bison checked into cvs 2006-02-15 07:26:07 +00:00
StackerParser.y Changes For Bug 352 2004-09-01 22:55:40 +00:00
StackerParser.y.cvs Convert over to the new way of handling lex/bison checked into cvs 2006-02-15 07:26:07 +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