Commit Graph

99 Commits

Author SHA1 Message Date
Christian
4a6ed84386 Parsing of events. 2015-01-29 21:26:11 +01:00
Lu Guanqun
5c828dc8b2 implement named arguments 2015-01-30 01:32:55 +08:00
Lefteris Karapetsas
53ef6900b7 Adding isStateVariable attribute to a VarDecl 2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3cc0492301 Work in progress for state variable accessors
- Changed the code so that a generic declaration with the combination of
  a function type can be used wherer a function definition was used
  before

- Since using an std::pair everywhere is really tiring with this commit
  I am in the process of abstracting it into a function
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
9759eec2da Fix in addStateVariableAccessor and adjustment of parser tests 2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
97c31b3e7d Parsing accessor functions for public contract state variables
- During the contract parsing depending on whether or not a state
  variable is public an extra acessor FunctionDefinition is parsed for it
2015-01-28 21:46:16 +01:00
Christian
34d07fc583 Some fixes in parser. 2015-01-28 11:28:22 +01:00
Christian
941c77c8fa Type resolution for function modifiers. 2015-01-26 10:23:39 +01:00
Christian
19793dab09 Function modifier parsing. 2015-01-26 10:23:39 +01:00
Christian
96db6cf905 Style changes. 2015-01-20 17:41:09 +01:00
Christian
d854e56789 Include virtual function overrides in constructor context. 2015-01-20 15:58:04 +01:00
Christian
af92f98d86 Constructor arguments for base classes. 2015-01-19 23:35:04 +01:00
Christian
4631e54e08 Inheritance parser. 2015-01-19 23:35:04 +01:00
Christian
b440d7e321 Specify value for contract creation. 2015-01-13 18:12:30 +01:00
Lefteris Karapetsas
aa83d5ea3c Moving comment to function body 2014-12-17 00:28:26 +01:00
Lefteris Karapetsas
adbea47596 Minor issues, grammar update, new ForStatement test 2014-12-17 00:03:30 +01:00
Lefteris Karapetsas
062b51e7bd ForStatement typecheck and initExpression is a Statement 2014-12-17 00:03:30 +01:00
Lefteris Karapetsas
90e39c04d6 Solidity ForStatements expressions are now optional 2014-12-17 00:03:30 +01:00
Lefteris Karapetsas
3f2600bb31 new ForStatement parsing test and small grammar fix 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
2f64c56ef3 Create contracts. 2014-12-15 13:05:18 +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
d2cf345483 Improved external interface for multi-source and multi-contract compilation. 2014-12-03 18:52:28 +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
Lefteris Karapetsas
a595464739 Simplifying scanning for natspec documentation
- Scanner no longer remembers the last natspect comment until
  a new one is encountered. It remembers it only until the next
  scan()
2014-11-30 22:43:40 +01:00
Lefteris Karapetsas
db7b118ece Solidity natspec docstring test improvements
- Adding a test for docstring being between function signature and
  function body

- Properly checking for exceptions in parsing

- Small parser fix
2014-11-28 11:17:18 +01:00
Lefteris Karapetsas
e3e90c4e6b Solidity FunctionDefinition used ASTString shared ptr for docstrings 2014-11-28 01:26:37 +01:00
Lefteris Karapetsas
e11e651929 Solidity work for documentation strings
- Still a work in progress

- Parser now properly gets each function's doc comment

- Small changes in the scanner

- Multiline comments are considered
2014-11-27 18:57:50 +01:00
Lefteris Karapetsas
6ddfebafae Solidity function AST nodes get documentation attribute 2014-11-27 15:21:22 +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
5dd8f3a937 Bugfix: Special case of statements starting with type conversion. 2014-11-05 07:35:31 +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
2939b180ba Parser fix: Consume break and continue. 2014-10-29 13:00:22 +01: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
fd046d7c90 Corrected spacing around colon. 2014-10-23 00:24:07 +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
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
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
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