Commit Graph

18 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 9c0a2573c3 Adding simple module dependency analysis.
Addresses #14
2014-12-10 20:38:32 +01:00
Stefano Sanfilippo d0e1af34b2 Merge branch 'master' into cmake
Conflicts:
	CMakeLists.txt
2014-12-04 22:18:01 +01:00
Stefano Sanfilippo 07bdbbe55e Switch to CMake. 2014-12-02 17:55:48 +01:00
Stefano Sanfilippo 2f66c31729 Getting rid of explicit stacks with more left-recursive rules.
As a result, the grammar should be more readable.
2014-12-02 16:22:03 +01:00
Stefano Sanfilippo e984b5d0ea Uniform token naming convention. 2014-12-02 14:15:25 +01:00
Stefano Sanfilippo 76a4e3d7f2 Adding support for functions. 2014-11-30 13:03:45 +01:00
Stefano Sanfilippo 8c813602d4 Stop compilation when an unexpected character is encountered. 2014-11-29 22:31:25 +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 f96376438c Removing redundant static qualifier. 2014-11-28 20:03:49 +01:00
Stefano Sanfilippo effa74c2ff Adding location (line and column) to error report. 2014-11-28 20:02:41 +01:00
Stefano Sanfilippo 1cd565a1f0 Improving error reporting message. 2014-11-28 19:31:46 +01:00
Stefano Sanfilippo 917f511479 Removing redundant namespace qualifiers in %union 2014-11-28 19:07:47 +01:00
Stefano Sanfilippo 4a8377ed71 Using %code directives instead of {% %} prologue. 2014-11-28 19:06:27 +01:00
Stefano Sanfilippo 649797f13a Generating a C++ reentrant parser. 2014-11-28 19:00:51 +01:00
Stefano Sanfilippo e2a635e95f Removed redundant comment. 2014-11-28 17:22:57 +01:00
Stefano Sanfilippo 97ec6b26f2 Moving .y and .l to .ypp and .lpp 2014-11-28 17:19:09 +01:00