{"repo":"siraben/evm-assembler","free":true,"listed":false,"github":"https://github.com/siraben/evm-assembler","clone":"git clone https://github.com/siraben/evm-assembler.git","description":"No-dependencies assembler for the EVM with examples (λ-calculus, linked lists, etc.)","language":"Python","stars":13,"topics":["ethereum","evm","vm","assembler","smart-contracts"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"EVM Assembler in Python This repo includes a lightweight Lisp-style EVM assembler plus a SKI graph-reduction toolchain for compiling Blynn-style lambda programs to EVM bytecode. Files and Directories - assembler.py : Core EVM assembler. - main.py : Assemble a Lisp-style EVM file into bytecode. - examples/ : Lisp-style EVM examples (including the SKI VM template). - programs/ : Blynn-style lambda programs ( .lam ) compiled to SKI (factorial, countdown, scott reverse, fib ). - run lam.py : Compile .lam to SKI VM postfix, optionally assemble/run/simulate. - run ski.py : Inject a SKI VM program into examples/ski.lisp and assemble/run. - simulate ski.py : Python graph-reduction simulator for SKI programs. - animate ski.py : Render per-step graphviz frames/gifs/mp4s from the simulator. - trace stats.py : Plot stack depth and heap usage over time. - fib gas plot.py : Measure EVM gas usage for .lam program templates. - run evm.py : Execute hex bytecode with py-evm. Lambda language ( .lam ) - Definitions: name = expr; - Lambdas: \\x y - expr - Application: whitespace ( f x y ) - Numbers: #123 - Operators: + - / % == (rewritten to strict primitives) - Comments: ;; or -- to end of line Usage Assemble a Lisp program: Compile a lambda program to SKI VM syntax and simulate: Assemble and run on the EVM: Plot gas usage (repeatable --source and --main-format ): Other helpers: License This project is licensed under the MIT license. Assembler documentation Pass 1 Handling expressions Each expres","default_branch":null,"files":null,"tree":[],"storefront":"/r/siraben","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/siraben/evm-assembler/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}