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