Commit Graph

21 Commits

Author SHA1 Message Date
Stefano Sanfilippo 3aade87599 Splitting a parser rule for function prototype. 2015-03-08 12:52:38 +01:00
Stefano Sanfilippo f933cc3163 Extracting a FunctionPrototype node.
This will allow more flexibility in defining externed functions.
2015-03-08 11:25:41 +01:00
Stefano Sanfilippo 5d043566dc Turn main into an ordinary function. 2015-03-06 13:40:40 +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 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