Commit Graph

11 Commits

Author SHA1 Message Date
Stefano Sanfilippo b0a01d2fb7 Decouple AST nodes from representation.
1. adding getters to all node properties.
2. extracting an Emitter interface.
3. moving all C++ codegen features to a CppEmitter.

All list template specializations typedefs have been removed for
increased readability.

A dependency on Boost is introduced for boost::optional,
which is required in the AST getters API.
2015-03-05 01:16:40 +01:00
Stefano Sanfilippo eba0efb878 Passing a pointer to Scanner instead of reference.
This way, we can handle std::cin easier.
2015-03-05 00:58:30 +01:00
Stefano Sanfilippo 335802c667 Fix license header. 2014-11-29 21:38:52 +01:00
Stefano Sanfilippo 971079b89d Adding GPLv3 license. 2014-11-29 00:47:50 +01:00
Stefano Sanfilippo 66da783857 Plugged parser and lexer into main, updated Makefile. 2014-11-28 19:01:34 +01:00
Stefano Sanfilippo 97ec6b26f2 Moving .y and .l to .ypp and .lpp 2014-11-28 17:19:09 +01:00
Stefano Sanfilippo 9184c45297 Fixing pointer deref gone wild. 2014-11-27 22:16:12 +01:00
Stefano Sanfilippo fda1ae54bc Shorter prefix for parser pseudonamespace. 2014-11-27 21:55:40 +01:00
Stefano Sanfilippo 9b32c4e4d4 Fixing global variable that was not caught in prefix renaming. 2014-11-27 21:50:40 +01:00
Stefano Sanfilippo ae7c1f98d9 Optionally read and write to file. 2014-11-27 20:42:55 +01:00
Stefano Sanfilippo 40845c011b Cleanups.
1. move emit() to separate file.
2. move main to .cpp
3. use "namespace" for parser and lexer.
4. remove Type.h
2014-11-27 19:59:48 +01:00