Commit Graph

23 Commits

Author SHA1 Message Date
Christian
9e91596c8d Save the scope for every declaration. 2014-12-01 17:33:21 +01:00
Christian
c50cd646ce Contracts as types and framework for special global variables. 2014-11-23 21:28:44 +01:00
Gav Wood
3e57086efe Fix warnings, release errors. 2014-11-18 17:49:31 +01:00
Christian
c560a62352 Struct types. 2014-11-14 14:08:14 +01:00
Christian
46dd629820 Mapping types. 2014-11-14 14:08:14 +01:00
Christian
c1f7a1665f Converted all asserts to exceptions. 2014-11-05 15:01:24 +01:00
Christian
7f19f3d133 Contract compiler and also add ExpressionStatement to AST.
ExpressionStatement functions as glue between Statements and Expressions.

This way it is possible to detect when the border between statements and
expressions is crossed while walking the AST. Note that ExpressionStatement is
not the only border, almost every statement can contains expressions.
2014-10-30 01:25:42 +01:00
Christian
6a96b6b5ad Removed std:: where it made sense. 2014-10-24 19:42:38 +02:00
Christian
58be273506 Replace BOOST_ASSERT by assert. 2014-10-24 19:40:47 +02:00
Christian
b2f12991db Some documentation. 2014-10-24 19:38:48 +02:00
Christian
f8038792ca Remove nullptr comparisons. 2014-10-24 16:43:11 +02:00
Christian
1ae1fc66e2 Use createTypeError everywhere and stream out Location. 2014-10-24 12:42:44 +02:00
Christian
094ee44f72 Use boost errinfo. 2014-10-23 21:37:57 +02:00
Christian
781d7fd514 Improved exceptions and reporting exceptions for command-line compiler. 2014-10-23 16:43:50 +02:00
Christian
fd046d7c90 Corrected spacing around colon. 2014-10-23 00:24:07 +02:00
Christian
be885dc3cf Pointer type cleanup: Use ASTPointer only for AST nodes and shared_ptr for type
pointer.
2014-10-20 16:23:49 +02:00
Christian
a7f9815c0f Coding style and cleanup 2014-10-17 12:37:51 +02:00
Christian
8a506b505f Corrected coding style. 2014-10-16 14:08:54 +02:00
Christian
d557fbac9c Some fixes for the type system, should be quite usable now. 2014-10-15 18:41:44 +02:00
Christian
df142782bc Added meaningful exception types. 2014-10-15 18:41:29 +02:00
Christian
89b794f1dc Type system, not yet complete. 2014-10-15 18:40:19 +02:00
Christian
bdac5c7b4b Added copyright blocks. 2014-10-13 17:13:48 +02:00
Christian
4f79117964 Name resolution. 2014-10-13 17:02:21 +02:00