37 Commits
Author SHA1 Message Date
Christian Parpart 62fe57479e make use of C++ = default constructor declarations as well as more non-static member initialization syntax. 2018-12-19 11:26:42 +01:00
Alex Beregszaszi c2ec6d71b4 Add version pragma parsing to Parser 2018-12-18 15:02:35 +00:00
Christian Parpart d67322a186 Introduce namespace langutil in liblangutil directory.
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
Christian Parpart 87821c53c3 Isolating files shared between Yul- and Solidity language frontend. 2018-11-21 18:58:12 +00:00
Daniel Kirchner f020f96b6c More consistently use parse*() functions without argument in the parser. 2018-09-06 14:55:07 +02:00
Erik Kundt 182a0a9551 Disallows old constructor syntax. 2018-07-18 14:29:01 +02:00
chriseth fe8f38a7a4 Assert integrity of empty IndexAccessPath structure. 2018-05-09 14:55:36 +02:00
chriseth be54f48197 Further refactor. 2018-05-09 11:48:21 +02:00
chriseth 86b7adc18f Refactor expression parser. 2018-05-09 11:48:21 +02:00
Alex Beregszaszi ed9f80690b Simplify expectIdentifierToken by using expectToken 2018-05-03 22:10:51 +01:00
Alex Beregszaszi 73c99d15cd Remove useless helper expectAssignmentOperator in parser 2018-05-03 21:35:38 +01:00
chriseth d44fb03322 Refactor parser. 2018-04-26 10:59:02 +02:00
Daniel Kirchner e2dac9ed39 Set header.isConstructor for old style constructors in parseFunctionHeader as well. 2018-04-03 18:21:55 +02:00
Daniel Kirchner d664a599e6 Constructors are defined using the `constructor` keyword. 2018-04-03 18:21:55 +02:00
chriseth 388718b59f Introduce emit statement. 2018-02-22 15:17:30 +01:00
chriseth 692e4c57e8 Check recursion depth in assembly parser. 2017-08-22 12:44:22 +02:00
Alex Beregszaszi 2a5772cff7 Mark appropriate constructors explicit 2017-08-22 10:51:46 +01:00
chriseth 32e43477c3 Prevent too deep recursion in parser. 2017-08-14 22:19:15 +02:00
Alex Beregszaszi 2a9ba937ba Replace constant/payable with StateMutability in AST 2017-08-14 14:21:47 +01:00
Alex Beregszaszi efd45f64a5 Show previous visibility specifier in parser error 2017-08-09 14:30:17 +01:00
Rhett Aultman 89b60ffbd4 Refactor error reporting
This commit introduces ErrorReporter, a utility class which consolidates
all of the error logging functionality into a common set of functions.
It also replaces all direct interactions with an ErrorList with calls to
an ErrorReporter.

This commit resolves issue #2209
2017-05-30 07:28:31 -07:00
Alex Beregszaszi 751c97ca19 Pull out common code to a helper 2017-05-26 21:40:14 +01:00
Alex Beregszaszi 2fefe3b549 Move Solidity specific methods from ParserBase to the Solidity Parser 2017-05-26 20:44:34 +01:00
Alex Beregszaszi f8da9a8fd5 Factor out tokenToContractKind 2017-03-17 17:06:52 +00:00
Alex Beregszaszi 54230d2d5d Support interface (contract) keyword in the parser 2017-03-17 16:27:04 +00:00
VoR0220 3f9f725737 Fix licensing headers
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
chriseth 97a3588701 Function type state variables. 2016-11-16 14:37:17 +01:00
chriseth cc8583ec7d Function types. 2016-11-16 14:37:17 +01:00
Rhett Aultman 4524ad0870 Add support for do/while loops
This commit adds support for a standard do <statement> while <expr>;
form of statement.  While loops were already being supported; supporting
a do/while loop mostly involves reusing code from while loops but putting
the conditional checking last.
2016-11-10 07:07:25 -08:00
chriseth 3c412ed2f6 Version pragma. 2016-09-01 00:02:51 +02:00
chriseth 949b00ed59 Parsing for inline assembly. 2016-03-30 02:37:00 +02:00
LianaHus 58e07151e3 - inline and assembly keywords added
- some style fixes
2016-03-11 17:49:32 +01:00
chriseth 968934c05d Move reusable parser components into base class. 2016-02-22 18:02:29 +01:00
chriseth 0e2fa39fad Use paths instead of simple identifiers wherever possible. 2015-12-21 18:44:21 +01:00
chriseth d71cd3aa2b Added the using x for y directive. 2015-11-26 17:49:39 +01:00
chriseth 8fb49d85f9 Allow docstrings for statements. 2015-10-26 19:47:25 +01:00
chriseth e3dffb611f File reorganisation. 2015-10-21 00:46:01 +02:00