From b25986ce57e39782bf0451b72cf831e58931d95f Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Tue, 13 Sep 2022 22:03:08 -0700 Subject: [PATCH 1/2] parentheses change --- evm/src/cpu/kernel/assembler.rs | 8 ++++---- evm/src/cpu/kernel/evm_asm.pest | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/evm/src/cpu/kernel/assembler.rs b/evm/src/cpu/kernel/assembler.rs index f52ae29d..da71d5ce 100644 --- a/evm/src/cpu/kernel/assembler.rs +++ b/evm/src/cpu/kernel/assembler.rs @@ -562,14 +562,14 @@ mod tests { let kernel = parse_and_assemble(&["%stack (a, b, c) -> (b)"]); assert_eq!(kernel.code, vec![pop, swap1, pop]); - - let kernel = parse_and_assemble(&["%stack (a, (b: 3), c) -> (c)"]); + + let kernel = parse_and_assemble(&["%stack (a, b: 3, c) -> (c)"]); assert_eq!(kernel.code, vec![pop, pop, pop, pop]); - let kernel = parse_and_assemble(&["%stack ((a: 2), (b: 2)) -> (b, a)"]); + let kernel = parse_and_assemble(&["%stack (a: 2, b: 2) -> (b, a)"]); assert_eq!(kernel.code, vec![swap1, swap3, swap1, swap2]); - let kernel1 = parse_and_assemble(&["%stack ((a: 3), (b: 3), c) -> (c, b, a)"]); + let kernel1 = parse_and_assemble(&["%stack (a: 3, b: 3, c) -> (c, b, a)"]); let kernel2 = parse_and_assemble(&["%stack (a, b, c, d, e, f, g) -> (g, d, e, f, a, b, c)"]); assert_eq!(kernel1.code, kernel2.code); diff --git a/evm/src/cpu/kernel/evm_asm.pest b/evm/src/cpu/kernel/evm_asm.pest index 227e2466..89d06e74 100644 --- a/evm/src/cpu/kernel/evm_asm.pest +++ b/evm/src/cpu/kernel/evm_asm.pest @@ -23,8 +23,8 @@ paramlist = { "(" ~ identifier ~ ("," ~ identifier)* ~ ")" } macro_arglist = !{ "(" ~ push_target ~ ("," ~ push_target)* ~ ")" } stack = { ^"%stack" ~ stack_placeholders ~ "->" ~ stack_replacements } stack_placeholders = { "(" ~ stack_placeholder ~ ("," ~ stack_placeholder)* ~ ")" } -stack_placeholder = { identifier | stack_block } -stack_block = { "(" ~ identifier ~ ":" ~ literal_decimal ~ ")" } +stack_placeholder = { stack_block | identifier } +stack_block = { identifier ~ ":" ~ literal_decimal } stack_replacements = { "(" ~ stack_replacement ~ ("," ~ stack_replacement)* ~ ")" } stack_replacement = { literal | identifier | constant | macro_label | variable } global_label_decl = ${ ^"GLOBAL " ~ identifier ~ ":" } From a5f34d9a2efa41a8946f1073ddf8be6119da7347 Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Tue, 13 Sep 2022 22:03:19 -0700 Subject: [PATCH 2/2] fix --- evm/src/cpu/kernel/assembler.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evm/src/cpu/kernel/assembler.rs b/evm/src/cpu/kernel/assembler.rs index da71d5ce..0471bf99 100644 --- a/evm/src/cpu/kernel/assembler.rs +++ b/evm/src/cpu/kernel/assembler.rs @@ -562,7 +562,7 @@ mod tests { let kernel = parse_and_assemble(&["%stack (a, b, c) -> (b)"]); assert_eq!(kernel.code, vec![pop, swap1, pop]); - + let kernel = parse_and_assemble(&["%stack (a, b: 3, c) -> (c)"]); assert_eq!(kernel.code, vec![pop, pop, pop, pop]);