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
Christian
33babb0c6f
Use endl instead of "\n".
2014-10-24 16:47:10 +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
987f42aa38
Sorted include directives.
2014-10-23 21:46:39 +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
a09e4c559d
Type information for AST printer.
2014-10-23 16:27:51 +02:00
Christian
fd046d7c90
Corrected spacing around colon.
2014-10-23 00:24:07 +02:00
Christian
c8b008558d
Cleanup of copyright headers.
2014-10-20 16:37:04 +02:00
Christian
8696598020
Access modifier cleanup.
2014-10-20 16:28:24 +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
646f106a34
Keyword cleanup
2014-10-17 12:52:39 +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
4ece1ba1d3
Remove unused parameters.
2014-10-15 18:50:15 +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
Christian
98bdd74299
AST printer and command line tool, some fixes.
2014-10-10 16:47:21 +02:00
Christian
924f7c62bd
Initial implementation of Solidity parser finished, not yet tested much.
2014-10-09 18:35:41 +02:00
Christian
c3faa433ef
Corrected indentation.
2014-10-09 12:36:17 +02:00
Christian
0a1ebe4f51
Parse everything up to function bodies and report parser errors with location.
2014-10-08 20:53:50 +02:00
Christian
56e9cc8db7
Solidity parser, can not parse much yet.
2014-10-08 13:49:34 +02:00
Christian
ef59373871
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