stella/src/yacc
stephena ef5f1bad4d More clang warning cleanups.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3209 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-15 15:50:25 +00:00
..
Makefile.yacc Repo reorganization: move main Stella files directly into 'trunk'. 2009-05-21 12:53:06 +00:00
README.txt First pass at getting function parsing working again in the debugger. 2010-04-03 12:45:20 +00:00
YaccParser.cxx More clang warning cleanups. 2015-09-15 15:50:25 +00:00
YaccParser.hxx Updated copyright to 2015. Happy New Year to anyone reading these logs :) 2015-01-01 03:49:32 +00:00
calctest.c Repo reorganization: move main Stella files directly into 'trunk'. 2009-05-21 12:53:06 +00:00
module.mk Repo reorganization: move main Stella files directly into 'trunk'. 2009-05-21 12:53:06 +00:00
stella.y More clang warnings fixed; these apply mostly to 'old-style-C' casts. 2015-09-14 21:33:50 +00:00
y.tab.c More clang warnings fixed; these apply mostly to 'old-style-C' casts. 2015-09-14 21:33:50 +00:00
y.tab.h Cleaned up function calling from expressions for various debugger subsystems. 2014-11-17 01:36:44 +00:00

README.txt

Makefile.yacc    - Not part of the regular stella build!
YaccParser.cxx   - C++ wrapper for generated parser, includes hand-coded lexer
YaccParser.hxx   - Include in user code, declares public "methods" (actually functions)
calctest.c       - Not part of stella! Used for testing the lexel/parser.
module.mk        - Used for regular Stella build
stella.y         - Yacc/Bison source for parser
y.tab.c, y.tab.h - Generated parser. NOT BUILT AUTOMATICALLY!

I've only tested stella.y with GNU bison 1.35 and (once) with Berkeley
Yacc 1.9. Hopefully your favorite version will work, too :)

Even though they're generated, y.tab.c and .h are in SVN. This is so that
people who don't have a local copy of bison or yacc can still compile
Stella.

If you modify stella.y, you MUST run "make -f Makefile.yacc" in this directory.
This will regenerate y.tab.c and y.tab.h. Do this before "svn commit".

If you're hacking the parser, you can test it without the rest of Stella
by running "make -f Makefile.yacc calctest" in this directory, then running
calctest with an expression as its argument:

./calctest '2+2'
= 4

If you're trying to benchmark the lexer/parser, try adding -DBM to the
g++ command that builds calctest.