Commit Graph
52 Commits
Author SHA1 Message Date
Christian 3fbe72cc47 Merge remote-tracking branch 'ethereum/develop' into sol_optimizer
Conflicts:
	libevmcore/Instruction.cpp
2014-11-10 13:30:59 +01:00
Christian 34a01c5c30 Merge remote-tracking branch 'ethereum/develop' into sol_stateVariables
Conflicts:
	libsolidity/ExpressionCompiler.cpp
2014-11-10 00:45:58 +01:00
Christian 1b1b72046b State variables. 2014-11-07 20:02:57 +01:00
Christian 4fe64b22de Merge remote-tracking branch 'ethereum/develop' into sol_optimizer 2014-11-07 02:13:31 +01:00
Christian d7f4e02dbd Evaluate expressions in convenient order. 2014-11-07 02:07:59 +01:00
Christian 1dfc8d9f2b Merge remote-tracking branch 'ethereum/develop' into sol_typePromotion 2014-11-06 22:07:02 +01:00
Christian 26150755f6 Merge remote-tracking branch 'ethereum/develop' into sol_optimizer 2014-11-06 15:34:35 +01:00
Christian 34f16940ea Moved instructions and assembly to new libevmcore. 2014-11-06 14:50:18 +01:00
Christian 008a91ca9d Ignore break and continue outside of loops. 2014-11-06 02:46:48 +01:00
Christian b20e70b4b4 Tests for break and continue in nested loops. 2014-11-06 02:46:40 +01:00
Christian 08cba0653f Support for negative literals. 2014-11-06 02:44:43 +01:00
Christian b9cc3baf40 Fixes for test framework (sign the transaction). 2014-11-06 02:36:39 +01:00
Christian 04e7977ea1 Type promotion fixes and tests. 2014-11-06 02:36:39 +01:00
Christian 010710353a Proper type promotion and conversion. 2014-11-06 02:36:39 +01:00
Christian e22cad4d35 Tests for type conversion at comparison. 2014-11-06 02:22:24 +01:00
Christian 693bc90275 Further framework fix. 2014-11-05 18:50:23 +01:00
Christian 849ccb4159 Fix test framework after change to Transaction. 2014-11-05 18:10:37 +01:00
Christian 3e73402ba3 Merge remote-tracking branch 'ethereum/develop' into HEAD
Conflicts:
	libsolidity/Compiler.cpp
	test/solidityCompiler.cpp
2014-11-05 17:56:38 +01:00
Christian 2432e2dbf3 Bugfix: Special case of statements starting with type conversion. 2014-11-05 07:35:31 +01:00
Christian bfb2ae9f3c Test adjustments. 2014-11-03 16:30:11 +01:00
Christian 8a9da8648d Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
Conflicts:
	alethzero/CMakeLists.txt
2014-11-03 16:13:40 +01:00
Christian dab09c595a Some tests and bugfixes for the compiler. 2014-11-03 16:11:40 +01:00
Christian 6951657c59 Bugfix: Swap before mod and div. 2014-11-03 15:44:22 +01:00
Christian 47d37b12a3 Bugfix: Swap before mod and div. 2014-11-03 12:23:53 +01:00
Christian 2088aaa85b Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
Conflicts:
	libsolidity/AST.cpp
	libsolidity/AST.h
	libsolidity/Compiler.cpp
	libsolidity/Compiler.h
	libsolidity/NameAndTypeResolver.h
	libsolidity/Types.cpp
	solc/main.cpp
	test/solidityCompiler.cpp
2014-10-31 17:20:27 +01:00
Christian c0528f511a Actual contract creator and add solidity to AlethZero interface. 2014-10-31 14:37:23 +01:00
chriseth be45d11e4c Merge pull request #415 from chriseth/sol_expressionCompiler
Solidity expression compiler
2014-10-31 13:42:24 +01:00
Christian f6c46c57f3 Function selector and variable (un)packing. 2014-10-30 21:21:25 +01:00
Christian fa24c954a5 Renamed file. 2014-10-30 21:21:25 +01:00
Christian 6642992c97 Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler 2014-10-30 01:25:42 +01:00
Christian b0d4e0dedf 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 70d7d9b3bc Further const placement changes. 2014-10-29 19:41:07 +01:00
Christian c5c33485d8 Merge remote-tracking branch 'ethereum/develop' into sol_expressionCompiler 2014-10-29 19:26:02 +01:00
Christian e08065a2fb Compiler for assignments. 2014-10-29 14:33:25 +01:00
Christian d706631412 NEG->BNOT change 2014-10-29 14:26:37 +01:00
Christian 9eacf5737f Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
Conflicts:
	libsolidity/Types.cpp
2014-10-29 13:54:36 +01:00
Christian 3f4befd6b4 Parser fix: Consume break and continue. 2014-10-29 13:00:22 +01:00
Christian eb254f6fdf Adjustments for the NEG->BNOT change. 2014-10-28 17:09:06 +01:00
Christian d2a474f7fa Merge remote-tracking branch 'ethereum/develop' into sol_expressionCompiler
Conflicts:
	libsolidity/Types.cpp
2014-10-28 17:01:04 +01:00
Christian 28ef0f0f1e Forgot some asterisks. 2014-10-28 16:57:20 +01:00
Christian b03a6a3563 Expression compiler. 2014-10-24 19:38:13 +02:00
Christian c24fa78b21 Pointer type cleanup: Use ASTPointer only for AST nodes and shared_ptr for type
pointer.
2014-10-20 16:23:49 +02:00
Christian ee06ed2ff8 Corrected coding style. 2014-10-16 14:08:54 +02:00
Christian c2f3d27940 Some fixes for the type system, should be quite usable now. 2014-10-15 18:41:44 +02:00
Christian 35383f9b88 Added meaningful exception types. 2014-10-15 18:41:29 +02:00
Christian de155c13ef Type system, not yet complete. 2014-10-15 18:40:19 +02:00
Christian 082d79dba4 Merge remote-tracking branch 'ethereum/develop' into solidity 2014-10-13 17:14:37 +02:00
Christian 9c9a529b9d Name resolution. 2014-10-13 17:02:21 +02:00
Christian 51f335838c Initial implementation of Solidity parser finished, not yet tested much. 2014-10-09 18:35:41 +02:00
Christian 9766467f50 Parse everything up to function bodies and report parser errors with location. 2014-10-08 20:53:50 +02:00
Christian 762817f838 Solidity parser, can not parse much yet. 2014-10-08 13:49:34 +02:00
Christian a1f32a0b26 Solidity scanner and some unit tests.
The scanner is a modified version of the v8 javascript scanner.
2014-10-08 11:11:50 +02:00