Commit Graph

34 Commits

Author SHA1 Message Date
chriseth
38486f47a7 Example ERC20 contract in Yul. 2020-05-04 19:13:50 +02:00
Kamil Śliwak
d037f7a3c5 docs: Info about --yul-optimizations and optimizer steps in Yul section 2020-05-04 15:59:44 +02:00
chriseth
ea7e751750 Documentation. 2020-05-04 15:05:14 +02:00
Noel Maersk
a481ea719f
docs: use Yul lexer to highlight Yul code segments.
Many commits squashed; turns out that with the combination of:

* Python v2.7,
* Sphinx v1.8.5, and
* Pygments v2.3.1

versions (old!) used in the CI, the only viable approach is:

* to use `code-block` directives with explicit language specification,
* to provide no file-local default using `highlight`, and
* to set language as `none` for grammar specifications.

Underlying are the following issues (again, for the old versions
listed above):

* Generic RST `code` doesn't work when language is `none`:

    Warning, treated as error:
    /root/project/docs/yul.rst:430:Cannot analyze code. No Pygments lexer found for "none".

  Additionally, it might be trying to fall back to the default
  (Solidity) if left unspecified.

* If a file-local default is specified using `highlight`, then
  `code-block` _must_ also provide a language:

    Warning, treated as error:
    /root/project/docs/yul.rst:185:Error in "code-block" directive:
    1 argument(s) required, 0 supplied.

* Sphinx seems to try the file-local default "yul" (specified with
  `highlight`) on `code` marked having language `json`:

    Warning, treated as error:
    /root/project/docs/yul.rst:130:Could not lex literal_block as "yul". Highlighting skipped.

* The only well-lexed highlighter for two of the three grammar
  specifications is `peg`, but it was added in Pygments v2.6.
  One of the grammars - in the "Formal Specification" section,
  the one after "We will use a destructuring notation for the
  AST nodes." - _must_ be left unhighlighted, with language set
  to `none`: all lexers do really poorly.

... And one should never, ever start treating warnings as mere
warnings, without having exhausted all other options.

Otherwise, it's a slippery slope, - and look where that brought
Gandhi: to being a strawman in every lousy argument to be had!..
2020-04-26 20:48:07 +03:00
Mathias Baumann
4d99a54d05 Fix broken yul-object link in docs 2020-03-16 17:34:18 +01:00
Chris Chinchilla
1b1a0a6953 Add return area clarification 2020-01-31 10:37:12 +01:00
chriseth
bc77132161 Make yul example compilable. 2020-01-24 01:11:12 +01:00
chriseth
1d6b42eaa4 Combine Yul documentation sections. 2020-01-16 18:57:04 +01:00
chriseth
a00f824479
Merge pull request #7773 from ethereum/develop
Merge develop into develop_060
2019-11-21 21:49:22 +01:00
Bhargava Shastry
a89965f500 Documentation: yul function definition clarification 2019-11-20 16:47:38 +01:00
Leonardo Alt
389da5228e Merge remote-tracking branch 'origin/develop' into merge_develop_060 2019-11-20 12:27:40 +01:00
chriseth
4ecd46a2e8
Clarify scoping with for loops. 2019-11-19 16:10:46 +01:00
chriseth
ceb8ee9124 [Yul] leave statement. 2019-10-29 14:32:16 +01:00
Erik Kundt
ad5fe2bf45 Fixes codespell. 2019-09-12 22:15:03 +02:00
Vedant Agarwala
ab47864852 Fix as per issue comments 2019-05-13 20:47:55 +08:00
chriseth
f9ec1231b6 Support period as part of identifiers for Yul and Inline Assembly. 2019-04-25 16:48:16 +02:00
chriseth
f26cdea6ca Disallow Yul function definitions inside for loop init blocks. 2019-04-25 10:32:00 +02:00
Chris Ward
d49e181a90 Update note to add further details on current status of YUL
Clarify further

Changes from reviews

Grammar polish

Changes from review

Update docs/yul.rst

Co-Authored-By: ChrisChinchilla <chriswhward@gmail.com>

Update docs/yul.rst

Co-Authored-By: ChrisChinchilla <chriswhward@gmail.com>

Polish suggestions

Update docs/yul.rst

Co-Authored-By: ChrisChinchilla <chriswhward@gmail.com>
2019-04-04 16:59:38 +02:00
Alex Beregszaszi
3bc2c35cc4 Support compiling Yul within StandardCompiler 2019-03-22 01:35:16 +00:00
Chris Ward
c3543b470f Change hyphen to non-breaking hyphen 2019-03-13 14:37:23 +01:00
Daniel Kirchner
4c8f8e9491 Disallow mismatching types in switch cases and detect duplicates by value for number literals. 2019-01-15 16:32:21 +01:00
poiresel
bf93665ad8 resolve spelling issues in the docs folder 2018-12-21 10:49:11 -05:00
chriseth
cb9816f7d6 Yul grammar changes.
- also the top level object needs to be named
 - code is not optional
2018-11-28 11:32:05 +01:00
chriseth
5783ebb93d Small changes to yul object specification. 2018-11-14 18:17:43 +01:00
chriseth
79243eac08 Rename some builtin yul functions for signed types. 2018-11-14 00:58:58 +01:00
chriseth
6e61d92495
Fix typo in yul example 2018-10-10 20:54:21 +02:00
chriseth
3bbb1ee2c0 Fix create2 2018-10-10 11:50:49 +02:00
chriseth
9589eb1bb6
Merge pull request #5117 from ethereum/yul_grammar
[DOCS] Yul grammar: missing If in Block rule
2018-10-01 13:21:08 +02:00
Leonardo Alt
6c55eaf835 Missing If in Block rule 2018-09-29 19:42:44 +02:00
Alex Beregszaszi
e109d1a6cf Include create2/extcodehash in yul.rst 2018-09-28 00:08:19 +01:00
Leo Arias
d33a99799d On a yul switch, at least one case is required when there is no default statement 2018-09-11 01:27:47 +00:00
Alex Beregszaszi
a99347e9f0 Yul grammar: allow multiple $ signs (matches Solidity) 2018-08-07 22:16:22 +01:00
Cryptomental
eb92d5f760 docs: Fix typos.
Used codespell and manual fixes.

Refs: #4442
2018-07-10 22:57:59 +02:00
chriseth
abfec6829d Rename julia/iulia to yul in documentation. 2018-06-12 10:00:00 +01:00