Commit Graph
100 Commits
Author SHA1 Message Date
Christian a15b03e991 Some more consts. 2014-12-08 13:29:14 +01:00
Christian e0ed942519 Removed unused members. 2014-12-08 13:15:43 +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 c78c330634 Const AST visitor for the compiler. 2014-12-08 12:49:03 +01:00
Christian 41b8d7b7f1 Const functions for ASTVisitor and const ASTPrinter. 2014-12-08 12:49:03 +01:00
Christian 260a1529a7 Compile fix. 2014-12-08 12:19:37 +01:00
Christian 26f554d0d8 Merge remote-tracking branch 'ethereum/develop' into sol_import
Conflicts:
	libsolidity/CompilerStack.cpp
	libsolidity/CompilerStack.h
	libsolidity/InterfaceHandler.cpp
	libsolidity/InterfaceHandler.h
	solc/main.cpp
	test/solidityJSONInterfaceTest.cpp
	test/solidityNatspecJSON.cpp
2014-12-08 12:07:17 +01:00
Christian d25d98a260 Comments and braces. 2014-12-07 09:46:21 +01:00
Christian 25273778dc Renamed url to identifier and added some comments. 2014-12-05 15:35:05 +01:00
Christian d4a958e1fe Merge remote-tracking branch 'ethereum/develop' into sol_import
Conflicts:
	libsolidity/CompilerStack.cpp
	libsolidity/CompilerStack.h
	solc/main.cpp
2014-12-05 15:27:07 +01:00
Christian d2cf345483 Improved external interface for multi-source and multi-contract compilation. 2014-12-03 18:52:28 +01:00
Christian 254df50fea Multi-source and multi-contract compiler. 2014-12-03 18:51:59 +01:00
Christian 328387d6d0 Import directive. 2014-12-03 10:44:46 +01:00
Christian 9dadeea377 Remove std::. 2014-12-03 10:42:04 +01:00
Christian 7b54d957d8 Comments for the TOKEN_LIST usage. 2014-12-03 09:41:12 +01:00
chriseth 9cfccd1826 Merge pull request #554 from chriseth/sol_constantOptimizer
Solidity optimizer for literal numbers
2014-12-03 08:30:48 +01:00
Christian 24f3a4a2ea Fix: Storage offset of first struct member should be zero. 2014-12-02 17:58:44 +01:00
Christian a2ad47441e Disallow assignments to structs and mappings. 2014-12-01 17:33:21 +01:00
Christian 9e91596c8d Save the scope for every declaration. 2014-12-01 17:33:21 +01:00
Christian b685735b3a Cleanup of scanner.
Removed redundancy of keyword definitions and removed some unused token
predicates.
2014-12-01 13:46:04 +01:00
chriseth 3fc2708d65 Merge pull request #545 from LefterisJP/sol_com_in_ast
Solidity function AST nodes get documentation attribute
2014-12-01 12:43:32 +01:00
Christian 3e32ce5d4f Minor changes to magic variables.
gas moves to "msg", ripemd160 returns hash160.
2014-11-27 18:24:59 +01:00
Christian c4a43c64c2 Global functions. 2014-11-26 15:42:54 +01:00
Christian f30dc68cdd Sending ether. 2014-11-26 15:35:25 +01:00
Christian a2715c5f34 More general function types and references. 2014-11-26 15:35:25 +01:00
Christian 6e6b85b58a Access to blockchain data. 2014-11-24 13:24:03 +01:00
chriseth 5d75263ff1 Whitespace change. 2014-11-24 00:00:46 +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
chriseth c7b933b4db Merge pull request #524 from LefterisJP/sol_parse_comments
Solidity scanner taking documentation comments into account
2014-11-21 15:35:17 +01:00
Christian 3ba9649dde Special handling for constructor. 2014-11-19 13:19:43 +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 d1789250b6 Merge remote-tracking branch 'ethereum/develop' into sol_jumptable
Conflicts:
	libsolidity/Compiler.cpp
2014-11-11 10:39:59 +01:00
Christian a0c72065fe Merge remote-tracking branch 'ethereum/develop' into sol_optimizer
Conflicts:
	libevmcore/Instruction.cpp
2014-11-10 13:30:59 +01:00
Christian 41b26e491b Replace function selector jump table by more resilient linear time check. 2014-11-10 13:13:53 +01:00
Christian 5af66a6cb3 Merge remote-tracking branch 'ethereum/develop' into sol_stateVariables
Conflicts:
	libsolidity/ExpressionCompiler.cpp
2014-11-10 00:45:58 +01:00
Christian 91f9a7b7c4 Do not return after throw. 2014-11-10 00:42:12 +01:00
Christian 64a4d77c8b State variables. 2014-11-07 20:02:57 +01:00
Christian 4c8e670530 Bugfix: Bit width of address types. 2014-11-07 17:34:50 +01:00
Christian dc8fb45e1f Merge remote-tracking branch 'ethereum/develop' into sol_optimizer 2014-11-07 02:13:31 +01:00
Christian af0aa0f898 Evaluate expressions in convenient order. 2014-11-07 02:07:59 +01:00
Christian b66e58d6c9 Prevent optimizer from changing certain parts of the code. 2014-11-06 22:55:42 +01:00
Christian 225fc8e1b3 Option to activate the optimizer for solidity. 2014-11-06 22:55:42 +01:00
chriseth d9decb8f1d Removed superfluous braces. 2014-11-06 22:11:21 +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
chriseth e0ba1c79db Stylistic changes. 2014-11-06 21:55:01 +01:00
Christian 04726a4ee4 Merge remote-tracking branch 'ethereum/develop' into sol_optimizer 2014-11-06 15:34:35 +01:00
Christian 8a0fff83f1 Moved instructions and assembly to new libevmcore. 2014-11-06 14:50:18 +01:00
Christian d1df8b810f Ignore break and continue outside of loops. 2014-11-06 02:46:48 +01:00
Christian 627c80f0a8 Support for negative literals. 2014-11-06 02:44:43 +01:00
Christian b5e77678c9 Keywords for all integer types. 2014-11-06 02:40:39 +01:00
Christian 95d2edfbac Type promotion fixes and tests. 2014-11-06 02:36:39 +01:00
Christian 13baaf98b8 Proper type promotion and conversion. 2014-11-06 02:36:39 +01:00
Christian 4b6c422315 More information for type expectation errors. 2014-11-06 02:22:24 +01:00
Christian 29c9a7aed9 Allow implicit type conversions for comparisons. 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 e30d3f8d53 Merge remote-tracking branch 'ethereum/develop' into HEAD
Conflicts:
	libsolidity/Compiler.cpp
	test/solidityCompiler.cpp
2014-11-05 17:56:38 +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
Christian 5dd8f3a937 Bugfix: Special case of statements starting with type conversion. 2014-11-05 07:35:31 +01:00
chriseth 1de66d6e9e Added doxygen comment. 2014-11-04 19:52:04 +01:00
chriseth ef546e789a Stylistic changes. 2014-11-04 11:56:19 +01:00
Christian 4dfd6dfa13 Some tests and bugfixes for the compiler. 2014-11-03 16:11:40 +01:00
Christian 643c781a6d Bugfix: Swap before mod and div. 2014-11-03 15:44:22 +01:00
Christian e9eef77489 Bugfix: Swap before mod and div. 2014-11-03 12:23:53 +01:00
Christian 25c0e08bdf 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 a36db1f241 Actual contract creator and add solidity to AlethZero interface. 2014-10-31 14:37:23 +01:00
Christian 9f53f18893 Corrected doxygen post comments. 2014-10-31 13:29:32 +01:00
Christian cb9cb48dc7 Function selector and variable (un)packing. 2014-10-30 21:21:25 +01:00
Christian a5f3602738 Renamed file. 2014-10-30 21:21:25 +01:00
Christian d3f5c6a0c8 Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler 2014-10-30 01:25:42 +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 5d287e7ea2 Further const placement changes. 2014-10-29 19:41:07 +01:00
Christian 62822ffd92 Fixed placements of const. 2014-10-29 19:28:30 +01:00
Christian 21b01a9647 Merge remote-tracking branch 'ethereum/develop' into sol_expressionCompiler 2014-10-29 19:26:02 +01:00
Christian b5a4d12fa3 Compiler for assignments. 2014-10-29 14:33:25 +01:00
Christian 01224287f5 NEG->BNOT change 2014-10-29 14:26:37 +01:00
Christian 413b315a03 Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
Conflicts:
	libsolidity/Types.cpp
2014-10-29 13:54:36 +01:00
Christian 2939b180ba Parser fix: Consume break and continue. 2014-10-29 13:00:22 +01:00
Christian f91ddc2788 Adjustments for the NEG->BNOT change. 2014-10-28 17:09:06 +01:00
Christian 2541a403c3 Merge remote-tracking branch 'ethereum/develop' into sol_expressionCompiler
Conflicts:
	libsolidity/Types.cpp
2014-10-28 17:01:04 +01:00
Christian 7bb3311be6 Forgot some asterisks. 2014-10-28 16:57:20 +01:00
Christian 933fbd7d60 Asterisk-syntax for doxygen class documentation. 2014-10-28 16:51:26 +01:00
Christian fae8ca001e Stylistic corrections. 2014-10-28 09:25:01 +01:00
Christian 6c07a4c380 CMakeLists library dependency cleanup for libdevcore, libevmface, libsolidity and solc.
Fixes #417.
2014-10-25 18:00:49 +02:00
Christian a29eb889a2 Removed some more boost asserts. 2014-10-24 20:01:20 +02: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 9141725cf2 Documentation for AST, Parser, Scanner and other classes. 2014-10-24 19:38:48 +02:00
Christian b2f12991db Some documentation. 2014-10-24 19:38:48 +02:00
Christian 59b5e950f4 Expression compiler. 2014-10-24 19:38:13 +02:00
Christian 2a24c3d810 Use the passed stream, not std::cerr. 2014-10-24 19:08:31 +02:00