57 Commits
Author SHA1 Message Date
chriseth 622703c0c0 Merge pull request #2409 from federicobond/trailing-commas-2
Improve error reporting of trailing commas
2017-06-19 12:01:19 +02:00
Federico Bond d170ceaf3d Display error if payable or constant is specified multiple times 2017-06-17 12:21:46 -03:00
Federico Bond 0eaae03bbf Try to recover from parser errors where possible 2017-06-15 21:14:05 -03:00
Federico Bond 60bfae75e5 Improve error reporting of trailing commas 2017-06-15 13:10:08 -03:00
Federico Bond fd8365df08 Forbid trailing commas in named arguments 2017-06-14 00:15:27 -03: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 48f58aa3f9 Remove duplicate code 2017-05-26 21:02:31 +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 81877cc594 Rename InterfaceHandler to Natspec 2017-05-19 16:11:04 +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
Alex Beregszaszi 6d4628ace4 Add ContractKind to ContractDefinition 2017-03-17 16:27:04 +00:00
Federico Bond 584356e7f6 Rename contractName to typeName when parsing new expression 2017-01-04 23:09:10 -03:00
VoR0220 3f9f725737 Fix licensing headers
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
chriseth 7a292c9a05 Fix parser for function type disambiguity. 2016-11-16 14:37:19 +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
Yoichi Hirai eee629652e parsing: ban empty enum definition. 2016-11-11 17:48:03 +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
Alex Beregszaszi 962531af96 Merged in changes from chriseth/payable 2016-09-05 21:28:28 +02:00
Alex Beregszaszi a34f2f1a31 Support payable keyword for functions 2016-09-05 21:28:18 +02:00
chriseth 02984b8de1 Require ";" after "_" 2016-09-05 14:54:50 +02:00
chriseth 3c412ed2f6 Version pragma. 2016-09-01 00:02:51 +02:00
chriseth 6f54b13d7a Remove log.h from solidity. 2016-04-12 01:03:46 +02:00
chriseth f049430723 Code generation (missing external access and source locations). 2016-03-30 02:37:00 +02:00
chriseth 949b00ed59 Parsing for inline assembly. 2016-03-30 02:37:00 +02:00
chriseth 968934c05d Move reusable parser components into base class. 2016-02-22 18:02:29 +01:00
RJ Catalano 84f2eb461b added two functions in Token to handle long identifiers, redid fromIdentifierOrKeyword, and made complementary changes in scanner and parser 2016-02-18 11:22:58 -06:00
RJ Catalano f4da126018 tests added and changes made
fixed some silly problems in Token.cpp

windows error fix
2016-02-18 11:22:56 -06:00
RJ Catalano 7b918a7bc7 changes to redefine the token list, the scanner, and the parser and how they pass around variable types of different sizes
not ready for change to FixedPoint just yet

made this more const correct and added a switch statement for easier reading
2016-02-18 11:22:52 -06:00
Lu Guanqun b003290638 [cond-expr] fixup according to code review 2016-01-22 17:14:00 +00:00
Lu Guanqun 7eefa838a3 [cond-expr] parse _ ? _ : _ into conditional AST node 2016-01-22 17:14:00 +00:00
Paweł Bylica 31863528a4 Remove unnecesary std::move 2016-01-15 14:04:18 +01:00
chriseth 0e2fa39fad Use paths instead of simple identifiers wherever possible. 2015-12-21 18:44:21 +01:00
chriseth 6c6295b74e Merge pull request #311 from guanqun/correct-boolean-literal-position
correct true/false literal's source
2015-12-18 17:14:57 +01:00
Lu Guanqun e4f713b55b correct true/false literal's source
Before:
        Literal, token: true value: true
           Type: bool
           Source: "true;"

After:
        Literal, token: true value: true
           Type: bool
           Source: "true"

Extra token is removed.
2015-12-18 23:48:34 +08:00
chriseth 603dc58040 Simple aliasing during import. 2015-12-18 12:46:56 +01:00
chriseth d3c459b5a9 Parse complex import directives. 2015-12-18 12:46:54 +01:00
RJ Catalano ed1dd50acd changed error message 2015-12-16 17:26:41 -06:00
RJ Catalano 905d55e34f updated tests and much simpler algorithm for parsing errors 2015-12-16 16:47:37 -06:00
RJ Catalano fe04d7f7f7 added one more test and realized that there was one last change before the parser is perfect 2015-12-16 14:50:40 -06:00
RJ Catalano de969945ea Parsing is complete 2015-12-16 13:17:41 -06:00
RJ Catalano 0ba24a5289 changed a couple of small nuances, made an attempt at fixing the parsing in the inline arrays case (fails), and added test for inline arrays per Chriseth request 2015-12-16 12:55:52 -06:00
RJ Catalano aebce8a1d5 now is compiling and passing soltest...but I think there may be a few more things to do 2015-12-15 12:22:52 -06:00
RJ Catalano 5a462afd03 fixed case statements 2015-12-15 11:37:00 -06:00
RJ Catalano 84241804dc updated attempt...still a bit more work to do but here's what's current 2015-12-15 11:00:35 -06:00
RJ Catalano 42c4339404 updated attempt, a couple of more things to sort through and change 2015-12-15 10:57:57 -06:00
RJ Catalano 574e48b0b5 Inline array declarations complete 2015-12-14 17:40:35 -06:00
chriseth d71cd3aa2b Added the using x for y directive. 2015-11-26 17:49:39 +01:00