Commit Graph
47 Commits
Author SHA1 Message Date
Christian 5a1a83ff42 Assertions that throw InternalCompilerErrors. 2014-12-17 16:24:56 +01:00
Lefteris Karapetsas 062b51e7bd ForStatement typecheck and initExpression is a Statement 2014-12-17 00:03:30 +01:00
Lefteris Karapetsas f7029726be Adding a ForStatement solidity AST Node.
- Adding ForStatement node
- Implemented Parsing for ForStatement
- A simple parsing test for the ForStatement
- Work in progress
2014-12-17 00:03:30 +01:00
Christian c40725c22a Check that constructor does not have "returns" directive. 2014-12-15 16:09:50 +01:00
Christian 2f64c56ef3 Create contracts. 2014-12-15 13:05:18 +01:00
Christian e8b18e95ce Move implementations of ::accept out of AST.cpp. 2014-12-08 17:47:02 +01:00
Christian f636ac6fc4 More const cleanup. 2014-12-08 13:15:43 +01:00
Christian 13640d7db8 Clear separation between ASTVisitor and ASTConstVisitor and more const specifiers. 2014-12-08 12:53:56 +01:00
Christian 41b8d7b7f1 Const functions for ASTVisitor and const ASTPrinter. 2014-12-08 12:49:03 +01:00
Christian 328387d6d0 Import directive. 2014-12-03 10:44:46 +01:00
Christian a2ad47441e Disallow assignments to structs and mappings. 2014-12-01 17:33:21 +01:00
Christian a2715c5f34 More general function types and references. 2014-11-26 15:35:25 +01:00
Christian 583a315d3d Magic variables. 2014-11-23 21:28:45 +01:00
Christian c50cd646ce Contracts as types and framework for special global variables. 2014-11-23 21:28:44 +01:00
Christian fa987e0a20 Convenience class for type members. 2014-11-23 21:04:39 +01:00
Christian 735dbe6986 We only care about member types. 2014-11-23 21:04:39 +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 8c6bf21c01 Provide interface for calls in JSON and some other formatting changes. 2014-11-11 17:41:48 +01:00
Christian 6c2e3ffd76 Merge remote-tracking branch 'ethereum/develop' into sol_typePromotion 2014-11-06 22:07:02 +01:00
Christian d3215fb4a6 Re-added some changes lost in merges. 2014-11-06 22:04:10 +01:00
Christian 4b6c422315 More information for type expectation errors. 2014-11-06 02:22:24 +01:00
Christian de493c673f Detect integer length from literals and remove "std::". 2014-11-06 02:22:24 +01:00
Christian 0062cdb83c Minor cleanup. 2014-11-05 23:35:00 +01:00
Christian f0c73b7a54 Stylistic corrections. 2014-11-05 15:04:33 +01:00
Christian c1f7a1665f Converted all asserts to exceptions. 2014-11-05 15:01:24 +01:00
chriseth ef546e789a Stylistic changes. 2014-11-04 11:56:19 +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 51349bdae5 Bugfix: Allow empty return statements without type checking. 2014-10-30 01:18:07 +01:00
Christian b5a4d12fa3 Compiler for assignments. 2014-10-29 14:33:25 +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 59b5e950f4 Expression compiler. 2014-10-24 19:38:13 +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 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 f0c334670d Coding style cleanup: const and vecptr. 2014-10-20 13:02:06 +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 98bdd74299 AST printer and command line tool, some fixes. 2014-10-10 16:47:21 +02:00
Christian c3faa433ef Corrected indentation. 2014-10-09 12:36:17 +02:00
Christian 56e9cc8db7 Solidity parser, can not parse much yet. 2014-10-08 13:49:34 +02:00