Commit Graph

16 Commits

Author SHA1 Message Date
Stefano Sanfilippo 4df447f23e Adding support for declaration of external modules as .mm files. 2015-03-10 00:52:51 +01:00
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