Stefano Sanfilippo
b5196b1776
Replace hardcoded stdlib prototypes with a module registry.
2015-03-08 13:25:59 +01:00
Stefano Sanfilippo
3f19125574
Output object file in current directory.
2015-03-07 19:56:47 +01:00
Stefano Sanfilippo
becafb4cd5
Plug new bitcode generator in main.
2015-03-07 19:43:53 +01:00
Stefano Sanfilippo
e921a24929
Adding -Wextra -Werror to compiler flags and fixing issues.
2015-03-07 17:24:25 +01:00
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