In this guide, we will list all Yul language features and briefly summarize the current status and limitations about SOLL implementation.
Our parser already covered most parts of valid grammar. Your can use soll -lang=Yul -action=ASTDump ...*.yul
verify parser functional behavior. Unfortunately, SOLL doesn't provide diagnostic tool to report invalid grammar for the Yul language in this stage.
If you want to execute ewasm compiled from Yul, refer to the DevGuide.
- Recognize Yul object structure.
- Statement
- Block
- FunctionDefinition
- VariableDeclaration
- Assignment
- If
- ForLoop
- BreakContinue
- Basic arithmetical, compare, sstore and sload built-in functions.
Below will describe some under implement language features.
feature | item |
---|---|
statement | Declare an object inside other object |
Call user define function | |
Switch statement | |
built-in function | signextendu256 |
sars256 | |
byte | |
mload | |
mstore | |
mstore8 | |
msize | |
create | |
create2 | |
call | |
callcode | |
delegatecall | |
abort | |
return | |
selfdestruct | |
log0 | |
log1 | |
log2 | |
log3 | |
log4 | |
blockhash | |
balance | |
this | |
caller | |
callvalue | |
calldataload | |
calldatasize | |
calldatacopy | |
codesize | |
codecopy | |
extcodesize | |
extcodecopy | |
extcodehash | |
datasize | |
dataoffset | |
datacopy | |
discard | |
discardu256 | |
splitu256tou64 | |
combineu64tou256 |