Daniel Kirchner
e07274a96f
Disallow libraries as mapping keys.
2020-02-06 09:09:43 +01:00
cameel
e4c7b73897
[yul-phaser] Store already loaded program in Population and make copies when computing fitness
...
- Until now the source code was being parsed during every fitness computation. Now the parsed program is reused and only the optimisation steps are applied each time.
2020-02-06 09:01:10 +01:00
cameel
57fb64d467
[yul-phaser] Make Program copyable by doing a deep copy of the AST in the copy constructor
2020-02-06 09:01:10 +01:00
cameel
a189c8b6e2
[yul-phaser] Pass unique_ptr rather than a mutable reference to Program::applyOptimisationSteps()
...
- Giving the function ownership of an object and then receiving back another object is better than letting it implicitly modify data passed in an argument.
2020-02-06 09:01:10 +01:00
a3d4
4ec4d23886
Replaced ParserBase::position() and ParserBase::endPosition() with ParserBase::currentLocation().
...
It might be simpler to pass `SourceLocation` object instead of splitting it into `start` and `end`, and creating another SourceLocation object using the same `start` and `end` later.
2020-02-06 03:34:49 +01:00
a3d4
7fecab07a8
Simplified Parser::createWithLocation().
...
In all but one case the function was called with the default argument value.
And when it was location, the location should be valid (see Parser::parseElementaryOperation()).
2020-02-06 03:34:48 +01:00
Alexander Arlt
0ae3053618
Add support for reading standard-json from file.
...
Currently `--standard-json` only supports reading input from stdin,
reading input from a specified file may simplify debugging.
2020-02-05 17:34:24 -05:00
chriseth
dd7a5c3386
Merge pull request #8164 from imapp-pl/yul-phaser
...
[yul-phaser] Minimal application
2020-02-05 18:55:55 +01:00
cameel
33cf4e4769
[yul-phaser] Tests for Population class
2020-02-05 18:13:30 +01:00
cameel
ccaff1b08e
[yul-phaser] Tests for random number generators
2020-02-05 18:13:30 +01:00
cameel
24d63a93cf
[yul-phaser] Tests for Program class
2020-02-05 18:13:30 +01:00
cameel
bee62cdd9e
[yul-phaser] Tests for Chromosome class
2020-02-05 18:13:30 +01:00
cameel
f8e397b487
[yul-phaser] Create test suite for Chromosome
2020-02-05 18:13:30 +01:00
cameel
785f65d0f5
[yul-phaser] Make Program and Population classes accept source code rather than file path
...
- I need some sample .yul files for testing but I see that existing tests generally have source code hard-coded in them rather than in standalone .yul files. There are lots of .yul files but they seem to be automatically processed by a special test case rather loaded ad-hoc by manually created tests.
- Program and Population required a file name until now. I'm making them accept loaded source code to be able to give them data hard-coded in a test.
2020-02-05 18:13:30 +01:00
cameel
7b7c88ae95
[yul-phaser] Add Population class
2020-02-05 18:13:30 +01:00
cameel
f0fb046038
[yul-phaser] Remove Chromosome::allStepNamesExcept()
2020-02-05 18:13:30 +01:00
cameel
f6d955db0b
[yul-phaser] Add Chromosome class
2020-02-05 18:13:30 +01:00
cameel
57ab8922cd
[yul-phaser] Add random number generators using Mersenne Twister from boost
2020-02-05 18:13:30 +01:00
cameel
21a2b69f74
[yul-phaser] Create OptimiserStepContext on demand instead of storing it in Program class
...
- This also lets us get rid of the static s_externallyUsedIdentifiers.
2020-02-05 18:13:30 +01:00
cameel
3baa191b94
[yul-phaser] Printing and JSON conversion for the Program class
2020-02-05 18:13:30 +01:00
cameel
2aa42b32e5
[yul-phaser] Make Program noncopyable
...
- Copying worked but resulted in OptimiserStepContext having a reference to NameDispenser instance of the other object.
2020-02-05 18:13:30 +01:00
cameel
14d726ff01
[yul-phaser] Program: Use unique_ptr rather than shared_ptr to hold a pointer to the AST root
...
- The class never shares the instance so unique_ptr makes more sense.
2020-02-05 18:13:30 +01:00
cameel
513d41c315
[yul-phaser] Add Program class
2020-02-05 18:13:30 +01:00
cameel
b75370d93e
[yul-phaser] Printing help and accepting input file on the command line
2020-02-05 18:13:30 +01:00
cameel
e7d204383d
[yul-phaser] An empty command-line application for the new tool
2020-02-05 18:13:29 +01:00
Mathias L. Baumann
bd54176c1a
Merge pull request #8248 from ethereum/functionCallOptionFollowUp
...
Fix function call option parsing and add to grammar.
2020-02-05 18:01:54 +01:00
chriseth
f44188abf5
Merge pull request #7914 from ethereum/solidity-upgrade-basic
...
[tools] Create solidity-upgrade
2020-02-05 17:05:26 +01:00
chriseth
5247a6600e
Fix function call option parsing and add to grammar.
2020-02-05 16:59:02 +01:00
Erik Kundt
f2701db0aa
Adds documentation for Solidity source upgrader.
2020-02-05 16:52:54 +01:00
chriseth
5de3379d82
Merge pull request #8238 from ethereum/yul-syntax-tests
...
Implement yul syntax tests
2020-02-05 15:15:41 +01:00
Mathias Baumann
fc10e701fc
Implement yul syntax tests
2020-02-05 14:58:34 +01:00
chriseth
56a3e434d9
Merge pull request #8239 from ethereum/unrevertpylintstuff
...
Re-add reverted pylint changes
2020-02-05 14:24:27 +01:00
Mathias Baumann
ef07fc3066
Fix formatting
2020-02-05 13:22:15 +01:00
chriseth
913d5f3221
Merge pull request #8242 from ethereum/abstractWithoutContract
...
Fix abstract without contract.
2020-02-05 12:49:51 +01:00
chriseth
0b9c842656
Fix abstract without contract.
2020-02-05 12:14:14 +01:00
chriseth
686b62b585
Merge pull request #8237 from ethereum/i32TypesForWasm
...
I32 types for wasm
2020-02-04 23:28:34 +01:00
chriseth
527c011c2e
Update tests.
2020-02-04 22:51:33 +01:00
chriseth
48933df18d
Add some missing wasm functions.
2020-02-04 22:44:08 +01:00
chriseth
a7624ffc45
Implement i32 builtins for the interpreter.
2020-02-04 22:44:08 +01:00
chriseth
c41ef15a86
Fix types for polyfill.
2020-02-04 22:44:08 +01:00
chriseth
8f546849f2
Add i32 functions to wasm dialect.
2020-02-04 22:44:08 +01:00
Christian Parpart
07a04bed44
python: Fixing some python2-to-python3 migrations that I missed in the last PR.
2020-02-04 22:26:11 +01:00
Christian Parpart
6ab385d34a
CircleCI: Adds pylint test for all python files in test/ directory.
2020-02-04 22:26:10 +01:00
chriseth
7cca036f4c
Merge pull request #8224 from a3d4/refactor-sourcelocation
...
Replaced SourceLocation::isEmpty() with isValid() and hasText().
2020-02-04 22:23:51 +01:00
alex
3416c029cf
Relaxed assert in AsmJsonImporter::createAsmNode.
2020-02-04 20:37:51 +01:00
chriseth
d7bf6f7137
Merge pull request #8236 from ethereum/wordSizeTransformTypes
...
Properly assign types during word size transform.
2020-02-04 18:56:38 +01:00
chriseth
cafad3770d
Update tests.
2020-02-04 18:27:01 +01:00
chriseth
d3739fe620
Fix WordSizeTransform to properly assign default types.
2020-02-04 18:13:37 +01:00
chriseth
9f0cef97c2
Specify default type for word size transform externally.
2020-02-04 18:13:37 +01:00
chriseth
8a7e1d651a
Merge pull request #8234 from ethereum/contractsAsMappingKeys
...
Contract types as mapping keys.
2020-02-04 17:58:48 +01:00