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
chriseth
b47d593252
Do not store elements of a contract by AST node type.
2015-11-26 15:37:55 +01:00
chriseth
e06768e8b5
Fix MSVC errors and warnings.
2015-11-26 14:47:28 +01:00
chriseth
30b325fdc1
Allow "new expressions" also for general type names.
...
Breaking change: If you want to send value with a contract creation, you
have to use parentheses now:
`(new ContractName).value(2 ether)(arg1, arg2)`
2015-11-26 13:10:12 +01:00
chriseth
8fb49d85f9
Allow docstrings for statements.
2015-10-26 19:47:25 +01:00
LianaHus
d8865f9f05
more corrections
2015-10-23 12:56:50 +02:00
LianaHus
6e13853421
modified error msg
2015-10-23 12:44:26 +02:00
chriseth
e3dffb611f
File reorganisation.
2015-10-21 00:46:01 +02:00