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
b7be4dc37f
Implementing error handling in emitters.
...
As a result, Emitter iface changes by providing a bool retval.
False means failure and should be managed as such.
2015-03-06 14:29:52 +01:00
Stefano Sanfilippo
68004b3f49
Reordering methods in iface Emittable (minor, cosmetic).
2015-03-06 13:41:27 +01:00
Stefano Sanfilippo
5d043566dc
Turn main into an ordinary function.
2015-03-06 13:40:40 +01:00
Stefano Sanfilippo
248afa02c8
Further simplification of the AST hieararchy and Emitter iface.
2015-03-05 22:28:45 +01:00
Stefano Sanfilippo
d7494702af
Simplify the Expression hierarchy by moving the operator on the binary father.
...
As a consequence, the Emitter interface is greatly simplified.
2015-03-05 17:25:02 +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