-
Notifications
You must be signed in to change notification settings - Fork 149
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
recover the definition and create a new target for summarization
- Loading branch information
Showing
5 changed files
with
48 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
eDSL High-Level Notations | ||
========================= | ||
|
||
The eDSL high-level notations make the EVM specifications more succinct and closer to their high-level specifications. | ||
The succinctness increases the readability, and the closeness helps "eye-ball validation" of the specification refinement. | ||
The high-level notations are defined by translation to the corresponding EVM terms, and thus can be freely used with other EVM terms. | ||
The notations are inspired by the production compilers of the smart contract languages like Solidity and Vyper, and their definition is derived by formalizing the corresponding translation made by the compilers. | ||
|
||
```k | ||
requires "buf.md" | ||
requires "hashed-locations.md" | ||
requires "abi.md" | ||
requires "gas.md" | ||
requires "lemmas/lemmas.k" | ||
module EDSL | ||
imports BUF | ||
imports HASHED-LOCATIONS | ||
imports SOLIDITY-FIELDS | ||
imports EVM-ABI | ||
imports INFINITE-GAS | ||
imports BIN-RUNTIME | ||
imports LEMMAS | ||
endmodule | ||
module BIN-RUNTIME | ||
imports EVM-ABI | ||
syntax Contract | ||
syntax Bytes ::= #binRuntime ( Contract ) [alias, symbol(binRuntime) , function, no-evaluators] | ||
| #initBytecode ( Contract ) [alias, symbol(initBytecode), function, no-evaluators] | ||
// -------------------------------------------------------------------------------------------------- | ||
endmodule | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters