Commit Graph

59 Commits

Author SHA1 Message Date
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
5b802b685e Stylistic changes. 2014-12-16 16:15:34 +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
chriseth
c7c189cac0 Merge pull request #586 from LefterisJP/natspec_contract_tags
Natspec title and author tag.
2014-12-10 19:23:57 +01:00
Lefteris Karapetsas
fbc35003ce Natspec title and author tag.
- Adding the title and author natspec documentation tags for contracts
- Also using the author tag for functions now
- Tests
2014-12-10 13:24:48 +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
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
Lefteris Karapetsas
df4db1de07 Merge branch 'develop' into natspec_export_json 2014-12-04 17:28:46 +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
9e91596c8d Save the scope for every declaration. 2014-12-01 17:33:21 +01:00
Lefteris Karapetsas
43d6726dd7 Exporting Natspec documentation to a JSON interface
- Adding a getDocumentation() function to solidity compiler stack
  so that we can obtain the natspec interface for a contract

- Adding libjsoncpp as a dependency of libsolidity. This is done
  in a dirty way, using libjsonrpc-cpp s an intermediate dependency
  for the moment. Will fix soon.

- Start of a test file for Natspec exporting to JSON
2014-12-01 17:03:04 +01:00
Lefteris Karapetsas
e3e90c4e6b Solidity FunctionDefinition used ASTString shared ptr for docstrings 2014-11-28 01:26:37 +01:00
Lefteris Karapetsas
6ddfebafae Solidity function AST nodes get documentation attribute 2014-11-27 15:21:22 +01:00
Christian
c4a43c64c2 Global functions. 2014-11-26 15:42:54 +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
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
64a4d77c8b State variables. 2014-11-07 20:02:57 +01:00
Christian
6c2e3ffd76 Merge remote-tracking branch 'ethereum/develop' into sol_typePromotion 2014-11-06 22:07:02 +01:00
Christian
29c9a7aed9 Allow implicit type conversions for comparisons. 2014-11-06 02:22:24 +01:00
Christian
0062cdb83c Minor cleanup. 2014-11-05 23:35:00 +01:00
Christian
c1f7a1665f Converted all asserts to exceptions. 2014-11-05 15:01:24 +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
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
9f53f18893 Corrected doxygen post comments. 2014-10-31 13:29:32 +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
5d287e7ea2 Further const placement changes. 2014-10-29 19:41:07 +01:00
Christian
b5a4d12fa3 Compiler for assignments. 2014-10-29 14:33:25 +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
9141725cf2 Documentation for AST, Parser, Scanner and other classes. 2014-10-24 19:38:48 +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
fd046d7c90 Corrected spacing around colon. 2014-10-23 00:24:07 +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