Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hex and string built-ins #134

Draft
wants to merge 49 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
e723a65
WIP
gzanitti Sep 12, 2023
d8da052
Trying some ideas
gzanitti Sep 12, 2023
027154c
Still WIP. Need to call finish() at the end.
gzanitti Sep 13, 2023
27321ce
Issue with internal labels (macros)
gzanitti Sep 13, 2023
95a2fd4
Some tests passing. Issue with includes
gzanitti Sep 14, 2023
ea5a590
All ASM test passing
gzanitti Sep 15, 2023
ea1668b
Fixing delayed Macros by insertion. Issue with misplaced internal lab…
gzanitti Sep 15, 2023
53e12a3
Progress in Macro delayed, 3/34 tests failing
gzanitti Sep 15, 2023
4df5199
Tests: 39 passed; 2 failed; Need to find a way to compute the size of…
gzanitti Sep 18, 2023
2be1ee3
ingest_import_in_include failing. Need to check concrete_len during i…
gzanitti Sep 18, 2023
b6b23ba
cargo test: all tests passing :tada:. Code needs to be cleaned before…
gzanitti Sep 19, 2023
03a4990
Issue 124 has been fixed. A new test has been added to ensure that it…
gzanitti Sep 19, 2023
93c66c9
Code cleaning
gzanitti Sep 19, 2023
a7c1d96
push_ready renamed to push_rawop
gzanitti Sep 19, 2023
6f0634a
Rustfmt
gzanitti Sep 19, 2023
da7afe0
Rustfmt in dasm (not related but fixed)
gzanitti Sep 19, 2023
5530125
Rustfmt in ecfg (not related but fixed)
gzanitti Sep 20, 2023
2114ffe
Output cleaning
gzanitti Sep 27, 2023
f1bb884
Several changes to simplify the compiler. It's still a PoC: the code …
gzanitti Oct 2, 2023
b72d608
Rewriting and Simplification. Some tests still need to be solved and …
gzanitti Oct 2, 2023
6319fc2
Code reorganization. Still work in progress.
gzanitti Oct 3, 2023
be7c9f0
Label insertion with built-in operation, fixed
gzanitti Oct 4, 2023
5ac947e
Label insertion with built-in operation (minor fix) & Rustfmt modific…
gzanitti Oct 4, 2023
ce47057
Path resolution. More testing is needed
gzanitti Oct 4, 2023
e6ff678
Test, code cleaning, etc
gzanitti Oct 5, 2023
1f46965
Test with short-circuit evaluation
gzanitti Oct 5, 2023
2c68611
Undoing of the modifications to the expected values of the tests. Add…
gzanitti Oct 6, 2023
ee04157
Code restructuring. push_all replaced by assemble
gzanitti Oct 6, 2023
859e85b
Minor changes in docs
gzanitti Oct 6, 2023
7bbfe8e
Added tests mentioned in issue #108
gzanitti Oct 6, 2023
2a50240
Implementation of the built-ins mentioned in issue 106
gzanitti Oct 9, 2023
af61235
forgotten file
gzanitti Oct 9, 2023
12c609c
Assembler simplification
gzanitti Sep 12, 2023
eb36696
addressing comments
gzanitti Oct 30, 2023
c355aa2
addressing comments
gzanitti Oct 30, 2023
27fc550
Dynamic push: new test
gzanitti Oct 31, 2023
a549703
Dynamic push: new test
gzanitti Oct 31, 2023
91a797e
Minor fix and new test
gzanitti Nov 8, 2023
26ff19d
Fix issue with labels + expressions in dynamic push
gzanitti Nov 9, 2023
e904798
Fix issue with labels + expressions in dynamic push (rustfmt)
gzanitti Nov 9, 2023
8cc1b5f
Minor changes
gzanitti Nov 9, 2023
62b3510
PendingLabel removed
gzanitti Nov 9, 2023
02492b2
Into -> From for &AbstractOp
gzanitti Nov 9, 2023
4dcfd94
Better naming. Code reorg.
gzanitti Nov 9, 2023
9fd54c9
Better naming. Code reorg.
gzanitti Nov 9, 2023
8296d16
Better naming.
gzanitti Nov 9, 2023
f9bc8cc
Code reorg.
gzanitti Nov 9, 2023
b350cc9
Updated to backend simplification
gzanitti Nov 10, 2023
74ebab3
Node::Raw added
gzanitti Nov 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion etk-analyze/src/bin/ecfg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ fn run() -> Result<(), Error> {
let blocks = separator
.take()
.into_iter()
.chain(separator.finish().into_iter())
.chain(separator.finish())
.map(|x| AnnotatedBlock::annotate(&x));

let mut cfg = ControlFlowGraph::new(blocks);
Expand Down
17 changes: 13 additions & 4 deletions etk-asm/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,31 +1,40 @@
[package]
name = "etk-asm"
version = "0.4.0-dev"
authors = ["Sam Wilson <[email protected]>", "lightclient <[email protected]>"]
authors = [
"Sam Wilson <[email protected]>",
"lightclient <[email protected]>",
]
license = "MIT OR Apache-2.0"
edition = "2018"
description = "EVM Toolkit assembler"
homepage = "https://quilt.github.io/etk"
repository = "https://github.com/quilt/etk"
readme = "README.md"
keywords = ["etk", "ethereum", "assembler"]
categories = ["cryptography::cryptocurrencies", "command-line-utilities", "development-tools", "compilers"]
categories = [
"cryptography::cryptocurrencies",
"command-line-utilities",
"development-tools",
"compilers",
]

[features]
cli = ["clap", "etk-cli"]
backtraces = [ "snafu/backtraces", "etk-ops/backtraces" ]
backtraces = ["snafu/backtraces", "etk-ops/backtraces"]

[dependencies]
etk-ops = { path = "../etk-ops", version = "0.4.0-dev" }
etk-cli = { optional = true, path = "../etk-cli", version = "0.4.0-dev" }
hex = "0.4.3"
num-bigint = "0.4"
num-traits = "0.2.17"
pest = "2.1.3"
pest_derive = "2.1"
rand = "0.8.5"
sha3 = "0.10.1"
clap = { optional = true, version = "3.1", features = ["derive"] }
snafu = { version = "0.7.1", default-features = false, features = [ "std" ] }
snafu = { version = "0.7.1", default-features = false, features = ["std"] }

[dev-dependencies]
assert_matches = "1.5.0"
Expand Down
Loading
Loading