aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/parsing
Commit message (Expand)AuthorAgeFilesLines
* Change scanner error diagnostics to be non-intrusive to the token API.Christian Parpart2018-11-241-26/+2
* adapt to latest code changesLazaridis2018-11-241-0/+24
* Isolating libyul library API into its own namespace `yul`.Christian Parpart2018-11-231-2/+2
* Reorder some include files and group <libyul/>'s together (as much as possible)Christian Parpart2018-11-231-2/+2
* Rewrite header paths to adapt to recent `git mv` of libsolidity/inlineasm to ...Christian Parpart2018-11-231-1/+1
* Introduce namespace `langutil` in liblangutil directory.Christian Parpart2018-11-225-10/+54
* Isolating files shared between Yul- and Solidity language frontend.Christian Parpart2018-11-2210-2014/+6
* Add Scanner function that prints source based on SourceLocationLeonardo Alt2018-11-131-0/+7
* Remove trailing whitespace.chriseth2018-11-121-1/+1
* Refactor `solidity::Token` into an `enum class` with `TokenTraits` helper nam...Christian Parpart2018-10-227-210/+203
* Merge pull request #5180 from ethereum/cpp-cleanupchriseth2018-10-101-2/+2
|\
| * Do not require ctype/stdio if not neededAlex Beregszaszi2018-10-101-1/+1
| * Use empty() instead of size() == 0Alex Beregszaszi2018-10-091-1/+1
* | provide general hex-literal error message, fixes #1802Lazaridis2018-10-093-3/+8
|/
* Fix typos.chriseth2018-10-041-1/+1
* Disallow uppercase X in hex number literalshydai2018-09-191-2/+2
* Accept ``address payable`` during parsing.Daniel Kirchner2018-09-112-5/+32
* This fixes several bugs with regards to line breaks and comments:chriseth2018-09-062-28/+58
* Refactor handling of whitespace.chriseth2018-09-061-5/+0
* More consistently use parse*() functions without argument in the parser.Daniel Kirchner2018-09-062-46/+64
* Merge pull request #4866 from bakaoh/issue4743chriseth2018-09-051-4/+5
|\
| * Fix#4743: Incorrect source location for nameless parametersbakaoh2018-08-281-4/+5
* | Remove trailing whitespace for all files in the repository.Daniel Kirchner2018-09-041-2/+2
* | Rename Location::Default to Location::Unspecified.Chase McDermott2018-08-181-2/+2
|/
* Cleanup & polish numbers-with-underscores parsing, also improving tests.Christian Parpart2018-08-081-29/+31
* Add stricter hex underscore rulesBalajiganapathi S2018-08-081-16/+19
* Allow underscores in numbers.Balajiganapathi S2018-08-081-2/+26
* Disallows old constructor syntax.Erik Kundt2018-07-183-22/+17
* Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-111-1/+1
* Remove constant keyword from parser.Daniel Kirchner2018-07-031-2/+9
* Add new reserved keywords.Daniel Kirchner2018-06-121-1/+20
* Introduces emit token and removes identifier workaround.Erik Kundt2018-06-122-3/+7
* Disallow trailing dots that are not followed by a numberLeonardo Alt2018-05-301-1/+7
* Allow using `calldata` keyword to specify data locationmingchuan2018-05-302-7/+19
* Add assert about source location.chriseth2018-05-161-0/+1
* Parse multi variable declaration statement.chriseth2018-05-161-8/+75
* Merge pull request #4047 from ethereum/refactorToMultiAlex Beregszaszi2018-05-092-38/+74
|\
| * Assert integrity of empty IndexAccessPath structure.chriseth2018-05-092-1/+11
| * Further refactor.chriseth2018-05-092-17/+43
| * Refactor expression parser.chriseth2018-05-092-21/+21
* | Use the entire token as source location for parser errors.Daniel Kirchner2018-05-091-2/+2
|/
* Have more uniform parser errorsAlex Beregszaszi2018-05-041-1/+1
* More user friendly output in case of Identifier and Token keywordsAlex Beregszaszi2018-05-041-16/+17
* Remove code duplication in expectTokenAlex Beregszaszi2018-05-041-23/+11
* Introduce Token::friendlyName() helperAlex Beregszaszi2018-05-042-5/+16
* Display nicer error messages in the parser (display tokens and not internal n...Alex Beregszaszi2018-05-041-11/+11
* Simplify expectIdentifierToken by using expectTokenAlex Beregszaszi2018-05-044-23/+6
* Remove useless helper expectAssignmentOperator in parserAlex Beregszaszi2018-05-042-15/+2
* Refactor parser.chriseth2018-04-262-66/+73
* docstring: add missing spaceLeo Arias2018-04-241-1/+1
* Fix internal compiler error when parsing ``var`` declaration without identifier.Daniel Kirchner2018-04-121-2/+4
* Properly cope with constructor headers.chriseth2018-04-121-3/+6
* Warn if modifiers are applied to functions without implementation.chriseth2018-04-121-4/+4
* Fix state variable parsing.chriseth2018-04-121-0/+8
* Error when using no parentheses in modifier-style constructor calls.Daniel Kirchner2018-04-101-3/+3
* Allow ``memory`` suffix for internal elementary type parsing.chriseth2018-04-051-1/+1
* Error when using empty parenthesis for base class constructors that require a...Daniel Kirchner2018-04-051-3/+3
* Set isConstructor to false unconditionally and update to true later for const...Daniel Kirchner2018-04-041-6/+4
* Set header.isConstructor for old style constructors in parseFunctionHeader as...Daniel Kirchner2018-04-042-6/+16
* Constructors are defined using the ``constructor`` keyword.Daniel Kirchner2018-04-042-6/+21
* DocStringParser: Fix error message for empty parameter description.Daniel Kirchner2018-03-141-7/+3
* Introduce emit statement.chriseth2018-02-222-1/+36
* Expect end of string at end of top-level block for assembly parser.chriseth2018-02-211-1/+1
* Fix event parsing. Refs #3175Federico Bond2017-11-231-9/+5
* Fix source location of VariableDeclarationStatement.chriseth2017-09-281-0/+1
* Better error message for unexpected trailing comma in parameter listswadeAlexC2017-09-251-0/+2
* Limit parser recursion depth further (needed by increased assembly data struc...Alex Beregszaszi2017-09-201-1/+1
* Crash fix, parseTypeName can return null.chriseth2017-08-281-1/+4
* Move the break in switch for readabilityAlex Beregszaszi2017-08-251-3/+3
* Remove two other fall-through cases in ParserAlex Beregszaszi2017-08-252-3/+5
* Remove fallthrough from literal parsingAlex Beregszaszi2017-08-251-6/+9
* Introduce pure specifier on functionsAlex Beregszaszi2017-08-242-2/+4
* Merge pull request #2770 from ethereum/recursionInAsmchriseth2017-08-244-39/+33
|\
| * Reduce max recursion depth.chriseth2017-08-221-1/+1
| * Check recursion depth in assembly parser.chriseth2017-08-224-39/+33
* | Introduce view (and keep constant as an alias)Alex Beregszaszi2017-08-232-3/+4
|/
* Mark appropriate constructors explicitAlex Beregszaszi2017-08-223-4/+4
* Mark a lot of functions const (where possible)Alex Beregszaszi2017-08-221-5/+5
* Prevent too deep recursion in parser.chriseth2017-08-152-0/+82
* Replace constant/payable with StateMutability in ASTAlex Beregszaszi2017-08-143-26/+34
* Enforce commas in tuple syntaxFederico Bond2017-08-121-2/+3
* Make toString(visibility) a helperAlex Beregszaszi2017-08-091-20/+2
* Show previous visibility specifier in parser errorAlex Beregszaszi2017-08-092-2/+29
* Add test for multiple visibilites on functionsAlex Beregszaszi2017-08-091-1/+1
* Rename Token::Const to Token::ConstantAlex Beregszaszi2017-08-092-3/+3
* Cleanup fixed point type changeschriseth2017-07-201-1/+1
* Change fixed point types to have digit countVoR02202017-07-201-7/+3
* Update parser error for pragma/import/contractAlex Beregszaszi2017-07-191-1/+1
* Move UndefMacros from libdevcore to libsolidity/parsingAlex Beregszaszi2017-07-022-1/+47
* Avoid including Scanner.h in ParserBase.hAlex Beregszaszi2017-06-232-5/+24
* Merge interface/Exceptions and interface/UtilsAlex Beregszaszi2017-06-223-3/+2
* Merge pull request #2409 from federicobond/trailing-commas-2chriseth2017-06-191-3/+9
|\
| * Improve error reporting of trailing commasFederico Bond2017-06-161-3/+9
* | Display error if payable or constant is specified multiple timesFederico Bond2017-06-171-0/+6
* | Try to recover from parser errors where possibleFederico Bond2017-06-161-13/+22
|/
* Forbid trailing commas in named argumentsFederico Bond2017-06-141-4/+9
* Refactor error reportingRhett Aultman2017-05-306-23/+18
* Pull out common code to a helperAlex Beregszaszi2017-05-272-24/+15
* Remove duplicate codeAlex Beregszaszi2017-05-271-20/+18
* Add scanner helpers to ParserBaseAlex Beregszaszi2017-05-271-1/+5
* Move Solidity specific methods from ParserBase to the Solidity ParserAlex Beregszaszi2017-05-274-60/+60
* Rename InterfaceHandler to NatspecAlex Beregszaszi2017-05-191-1/+0
* Factor out tokenToContractKindAlex Beregszaszi2017-03-182-15/+18
* Support interface (contract) keyword in the parserAlex Beregszaszi2017-03-183-6/+22
* Add ContractKind to ContractDefinitionAlex Beregszaszi2017-03-181-1/+1
* Disallow octal literals.chriseth2017-03-071-0/+3
* Minor changes.chriseth2017-01-271-19/+17
* More verbose function namingLefteris Karapetsas2017-01-271-2/+2
* Doc tags followed by newline are now parsed properlyLefteris Karapetsas2017-01-271-1/+1
* Fix and better output for testsLefteris Karapetsas2017-01-251-0/+6
* Accept any kind of whitespace after natspec tagsLefteris Karapetsas2017-01-251-13/+47
* Rename contractName to typeName when parsing new expressionFederico Bond2017-01-051-3/+3
* parsing: `default` and `null` are reserved keywordsYoichi Hirai2016-12-021-2/+2
* Metadata stamp.chriseth2016-12-011-0/+4
* parser: recognize an end of comment of the form `**/` at the end of a multi-l...Yoichi Hirai2016-12-011-1/+6
* Fix licensing headersVoR02202016-11-239-36/+36
* Fix parser for function type disambiguity.chriseth2016-11-161-1/+12
* Function type state variables.chriseth2016-11-162-31/+68
* Function types.chriseth2016-11-162-33/+64
* parsing: ban empty enum definition.Yoichi Hirai2016-11-121-0/+2
* Add support for do/while loopsRhett Aultman2016-11-102-1/+19
* Merge pull request #1016 from ethereum/reservedchriseth2016-09-062-1/+12
|\
| * Raise proper error on reserved keywordsAlex Beregszaszi2016-09-061-1/+11
| * Introduce isReservedKeyword()Alex Beregszaszi2016-09-061-0/+1
* | Reserve view and pure as keywordsAlex Beregszaszi2016-09-061-0/+2
|/
* Merged in changes from chriseth/payableAlex Beregszaszi2016-09-061-6/+6
* Support payable keyword for functionsAlex Beregszaszi2016-09-062-1/+8
* Require ";" after "_"chriseth2016-09-051-1/+1
* Version pragma.chriseth2016-09-013-0/+35
* Introduce hex literals (#832)Alex Beregszaszi2016-08-163-0/+37
* Reserved keywords update (#833)Alex Beregszaszi2016-08-161-2/+6
* Revert "Change After to a deprecated token"Denton Liu2016-08-111-5/+1
* Change After to a deprecated tokenDenton Liu2016-08-111-1/+5
* Remove after from Token.hDenton Liu2016-08-111-2/+2
* Rename addUnicodeChar to addUnicodeAsUTF8Alex Beregszaszi2016-08-052-3/+3
* Support Unicode escape characters in string literals ('\uUUUU')Alex Beregszaszi2016-08-052-0/+45
* Fix isCompareOp()Denton Liu2016-07-211-1/+1
* Move `in` as a keyword to reserved word sectionDenton Liu2016-07-211-1/+1
* Fix Token::isBitOp to exclude shift operatorsAlex Beregszaszi2016-06-081-1/+1
* updated algorithm for bit finding...now to figure out literal valueVoR02202016-05-101-1/+1
* got exponents up and working with their inverse, changed a few of the tests.....RJ Catalano2016-05-101-2/+2
* fixed problem with var...probably a conversion problem for fixed in size capa...RJ Catalano2016-05-101-2/+2
* fix for token bug, also quick fix for the wei and secondsRJ Catalano2016-05-101-1/+1
* initial work for fixed types...potentially needing a constant literal type fo...RJ Catalano2016-05-101-0/+3
* Remove log.h from solidity.chriseth2016-04-123-3/+0
* readding conditionals but with slight changesVoR02202016-04-011-3/+2
* solAsserts added and some changes rolled back.VoR02202016-03-312-2/+3
* helper function in scanner and corresponding edits to parserBaseVoR02202016-03-313-12/+13
* Got it working exactly like you wanted ;)VoR02202016-03-312-25/+76
* change lexical cast to unsigned intVoR02202016-03-311-1/+1
* Fix for Token::name and token::toStringVoR02202016-03-311-4/+3
* Code generation (missing external access and source locations).chriseth2016-03-301-8/+9
* Parsing for inline assembly.chriseth2016-03-302-0/+21
* Remove timestamp again and some fixes for ufixed parsing.chriseth2016-03-122-15/+18
* added keyword type and some tests, changes in lexical castRJ Catalano2016-03-122-11/+12
* stylistic change, and got lexical cast to work with an iterator rangeRJ Catalano2016-03-122-5/+6
* - inline and assembly keywords addedLianaHus2016-03-123-8/+10
* changed documentation and using lexical castRJ Catalano2016-03-122-11/+3
* changed extractUnsigned to handle iterators rather than a stringRJ Catalano2016-03-122-5/+5
* changed 1 to 0 in invalid argument catch blockRJ Catalano2016-03-122-2/+2
* needed this one string of notationRJ Catalano2016-03-121-0/+1
* added from identifier or keyword handling of fixed typesRJ Catalano2016-03-122-6/+37
* fixed keyword added in for token typeRJ Catalano2016-03-121-2/+4
* Buildfix.chriseth2016-02-231-3/+1
* Move reusable parser components into base class.chriseth2016-02-234-100/+183
* further optimization, splitting function into piecesRJ Catalano2016-02-192-14/+18
* added const correctness to extract functions in TokenRJ Catalano2016-02-193-107/+44
* added two functions in Token to handle long identifiers, redid fromIdentifier...RJ Catalano2016-02-195-55/+138
* tests added and changes madeRJ Catalano2016-02-194-67/+79
* changes to redefine the token list, the scanner, and the parser and how they ...RJ Catalano2016-02-195-125/+114
* Fix uint178 problem.chriseth2016-01-261-2/+2
* [cond-expr] fixup according to code reviewLu Guanqun2016-01-231-1/+1
* [cond-expr] parse _ ? _ : _ into conditional AST nodeLu Guanqun2016-01-231-6/+19
* Remove unnecesary std::movePaweł Bylica2016-01-151-1/+1
* Use paths instead of simple identifiers wherever possible.chriseth2015-12-222-15/+18
* Merge pull request #311 from guanqun/correct-boolean-literal-positionchriseth2015-12-191-0/+1
|\
| * correct true/false literal's sourceLu Guanqun2015-12-181-0/+1
* | Simple aliasing during import.chriseth2015-12-181-1/+1
* | Parse complex import directives.chriseth2015-12-181-19/+68
* | changed error messageRJ Catalano2015-12-171-1/+1
* | updated tests and much simpler algorithm for parsing errorsRJ Catalano2015-12-171-7/+6
* | added one more test and realized that there was one last change before the pa...RJ Catalano2015-12-171-1/+1
* | Parsing is completeRJ Catalano2015-12-171-3/+3
* | changed a couple of small nuances, made an attempt at fixing the parsing in t...RJ Catalano2015-12-171-3/+6
* | now is compiling and passing soltest...but I think there may be a few more th...RJ Catalano2015-12-161-4/+6
* | fixed case statementsRJ Catalano2015-12-161-1/+2
* | updated attempt...still a bit more work to do but here's what's currentRJ Catalano2015-12-161-0/+1
|\ \
| * | Inline array declarations completeRJ Catalano2015-12-151-0/+22
| |/
* / updated attempt, a couple of more things to sort through and changeRJ Catalano2015-12-161-4/+6
|/
* Added the `using x for y` directive.chriseth2015-11-272-0/+21
* Do not store elements of a contract by AST node type.chriseth2015-11-261-18/+8
* Fix MSVC errors and warnings.chriseth2015-11-261-1/+1
* Allow "new expressions" also for general type names.chriseth2015-11-261-1/+1
* Allow docstrings for statements.chriseth2015-10-272-35/+45
* Store docstrings in AST annotations.chriseth2015-10-262-0/+211
* more correctionsLianaHus2015-10-231-4/+14
* modified error msgLianaHus2015-10-231-1/+7
* File reorganisation.chriseth2015-10-216-0/+2900