Skip to content

yul proto spec: add for and switch...case statements #6224

Closed
@bshastry

Description

@bshastry

Abstract

The proto fuzzer does not thoroughly test optimizations on for loop and switch shift statements. This issue tracks support for these statements. Once finished, this should improve proto fuzzers' test coverage

Motivation

  • Extend current proto specification for the said statements
  • for loops will be "hardcoded" for a fixed number of iterations e.g.,
for {let i := 0x00} lt(i,0x100) { i := add(i, 0x20)}
{
<blockStmt>
}

Here's the for grammar (taken from the docs): ForLoop = 'for' Block Expression Block Block

  • switch case is relatively straightforward

Specification

The technical spec. mirrors yul grammar

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions