From 247792b25acc644d766de45fadae1a52f5d6f0c4 Mon Sep 17 00:00:00 2001 From: clearloop Date: Tue, 8 Aug 2023 23:18:42 +0000 Subject: [PATCH] deploy: 6fb8cd3f129ffe8c9ba86615250d2b7ecb7b6331 --- 404.html | 2 +- appendix/index.html | 2 +- appendix/optimizations.html | 2 +- benchmarks/fibonacci.html | 2 +- benchmarks/index.html | 2 +- cli/elko.html | 2 +- cli/index.html | 2 +- cli/zinkc.html | 2 +- compiler/arithmetic.html | 2 +- compiler/calls.html | 2 +- compiler/control-flow.html | 2 +- compiler/index.html | 2 +- compiler/locals.html | 2 +- compiler/recursion.html | 2 +- contributing/architecture.html | 2 +- contributing/building.html | 2 +- contributing/index.html | 2 +- contributing/testing.html | 2 +- examples/add-two.html | 23 +- examples/fibonacci.html | 43 ++- examples/index.html | 3 +- examples/select.html | 257 ++++++++++++++++++ index.html | 2 +- introduction.html | 2 +- print.html | 91 ++++++- rustdocs/conta/all.html | 2 +- rustdocs/conta/cmd/bump/index.html | 2 +- rustdocs/conta/cmd/bump/struct.Bump.html | 4 +- rustdocs/conta/cmd/enum.Command.html | 4 +- rustdocs/conta/cmd/index.html | 2 +- rustdocs/conta/cmd/publish/index.html | 2 +- .../conta/cmd/publish/struct.Publish.html | 4 +- rustdocs/conta/cmd/struct.Conta.html | 4 +- rustdocs/conta/config/index.html | 2 +- rustdocs/conta/config/struct.Config.html | 2 +- rustdocs/conta/index.html | 2 +- rustdocs/conta/sed/constant.PATT_VERSION.html | 2 +- .../sed/constant.WORKSPACE_DEPENDENCIES.html | 2 +- .../conta/sed/constant.WORKSPACE_PACKAGE.html | 2 +- rustdocs/conta/sed/index.html | 2 +- rustdocs/conta/sed/struct.Pos.html | 4 +- rustdocs/conta/sed/struct.Sed.html | 2 +- rustdocs/conta/struct.Bump.html | 4 +- rustdocs/conta/struct.Config.html | 2 +- rustdocs/conta/struct.Conta.html | 4 +- rustdocs/conta/struct.Publish.html | 4 +- rustdocs/conta/struct.Sed.html | 2 +- rustdocs/elko/all.html | 2 +- rustdocs/elko/enum.Command.html | 2 +- rustdocs/elko/fn.main.html | 2 +- rustdocs/elko/index.html | 2 +- rustdocs/elko/struct.Elko.html | 2 +- rustdocs/evm_opcodes/all.html | 2 +- rustdocs/evm_opcodes/enum.Group.html | 2 +- rustdocs/evm_opcodes/enum.ShangHai.html | 10 +- rustdocs/evm_opcodes/enum.Upgrade.html | 2 +- rustdocs/evm_opcodes/index.html | 2 +- .../macro.for_each_shanghai_operator.html | 2 +- rustdocs/evm_opcodes/macro.opcodes.html | 2 +- .../evm_opcodes/shanghai/enum.ShangHai.html | 10 +- rustdocs/evm_opcodes/shanghai/index.html | 2 +- rustdocs/evm_opcodes/trait.OpCode.html | 12 +- rustdocs/help.html | 2 +- .../clap_builder/derive/trait.Args.js | 2 +- .../derive/trait.CommandFactory.js | 4 +- .../derive/trait.FromArgMatches.js | 6 +- .../clap_builder/derive/trait.Parser.js | 4 +- .../implementors/core/clone/trait.Clone.js | 6 +- rustdocs/implementors/core/cmp/trait.Eq.js | 2 +- rustdocs/implementors/core/cmp/trait.Ord.js | 3 + .../implementors/core/cmp/trait.PartialEq.js | 2 +- .../implementors/core/cmp/trait.PartialOrd.js | 3 + .../implementors/core/convert/trait.From.js | 6 +- .../core/default/trait.Default.js | 4 +- rustdocs/implementors/core/fmt/trait.Debug.js | 6 +- rustdocs/implementors/core/hash/trait.Hash.js | 3 + .../implementors/core/marker/trait.Copy.js | 2 +- .../implementors/core/marker/trait.Freeze.js | 2 +- .../implementors/core/marker/trait.Send.js | 2 +- .../core/marker/trait.StructuralEq.js | 2 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- .../implementors/core/marker/trait.Sync.js | 2 +- .../implementors/core/marker/trait.Unpin.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 2 +- .../panic/unwind_safe/trait.UnwindSafe.js | 2 +- .../serde/de/trait.Deserialize.js | 2 +- .../implementors/serde/ser/trait.Serialize.js | 2 +- .../core/operators/trait.VisitOperator.js | 2 +- rustdocs/index.html | 2 +- rustdocs/search-index.js | 6 +- rustdocs/settings.html | 2 +- rustdocs/src-files.js | 2 +- rustdocs/src/conta/cmd/bump.rs.html | 2 +- rustdocs/src/conta/cmd/mod.rs.html | 2 +- rustdocs/src/conta/cmd/publish.rs.html | 2 +- rustdocs/src/conta/config.rs.html | 2 +- rustdocs/src/conta/lib.rs.html | 2 +- rustdocs/src/conta/sed.rs.html | 2 +- rustdocs/src/elko/elko.rs.html | 2 +- rustdocs/src/evm_opcodes/lib.rs.html | 32 ++- rustdocs/src/evm_opcodes/shanghai.rs.html | 2 +- rustdocs/src/zingen/abi.rs.html | 2 +- rustdocs/src/zingen/asm.rs.html | 2 +- rustdocs/src/zingen/codegen.rs.html | 2 +- rustdocs/src/zingen/control.rs.html | 2 +- rustdocs/src/zingen/jump/code.rs.html | 185 +++++++++++++ rustdocs/src/zingen/jump/mod.rs.html | 50 +++- rustdocs/src/zingen/jump/pc.rs.html | 12 +- rustdocs/src/zingen/jump/relocate.rs.html | 14 +- rustdocs/src/zingen/lib.rs.html | 4 +- rustdocs/src/zingen/local.rs.html | 2 +- rustdocs/src/zingen/masm/cmp.rs.html | 2 +- rustdocs/src/zingen/masm/float.rs.html | 2 +- rustdocs/src/zingen/masm/integer.rs.html | 2 +- rustdocs/src/zingen/masm/memory.rs.html | 2 +- rustdocs/src/zingen/masm/mod.rs.html | 2 +- rustdocs/src/zingen/masm/stack.rs.html | 2 +- rustdocs/src/zingen/result.rs.html | 8 +- rustdocs/src/zingen/validator.rs.html | 2 +- rustdocs/src/zingen/visitor/control.rs.html | 28 +- rustdocs/src/zingen/visitor/handlers.rs.html | 2 +- rustdocs/src/zingen/visitor/local.rs.html | 2 +- rustdocs/src/zingen/visitor/mod.rs.html | 2 +- rustdocs/src/zingen/visitor/system.rs.html | 4 +- rustdocs/src/zink/lib.rs.html | 2 +- rustdocs/src/zinkc/compiler.rs.html | 6 +- rustdocs/src/zinkc/lib.rs.html | 2 +- rustdocs/src/zinkc/result.rs.html | 2 +- rustdocs/src/zinkc/zinkc.rs.html | 2 +- rustdocs/src/zinkup/build.rs.html | 2 +- rustdocs/src/zinkup/compile.rs.html | 2 +- rustdocs/src/zinkup/lib.rs.html | 2 +- rustdocs/src/zinkup/new.rs.html | 2 +- rustdocs/src/zinkup/utils/manifest.rs.html | 2 +- rustdocs/src/zinkup/utils/mod.rs.html | 2 +- rustdocs/src/zinkup/utils/result.rs.html | 2 +- rustdocs/src/zinkup/utils/wasm.rs.html | 2 +- rustdocs/src/zint/bytes.rs.html | 2 +- rustdocs/src/zint/evm.rs.html | 2 +- rustdocs/src/zint/lib.rs.html | 2 +- ...e522f4d1.css => dark-0a43001d3fc2282c.css} | 2 +- ...3d09c26.css => light-1596385f77d47ef2.css} | 2 +- .../zingen/abi/constant.ALIGNMENT_MASK.html | 2 +- rustdocs/zingen/abi/index.html | 2 +- rustdocs/zingen/abi/macro.offset.html | 2 +- rustdocs/zingen/abi/trait.ToLSBytes.html | 4 +- rustdocs/zingen/abi/trait.Type.html | 4 +- rustdocs/zingen/all.html | 2 +- rustdocs/zingen/asm/index.html | 2 +- rustdocs/zingen/asm/macro.impl_opcodes.html | 2 +- rustdocs/zingen/asm/struct.Assembler.html | 2 +- rustdocs/zingen/codegen/index.html | 2 +- rustdocs/zingen/codegen/struct.CodeGen.html | 25 +- rustdocs/zingen/constant.BUFFER_LIMIT.html | 2 +- .../control/enum.ControlStackFrameType.html | 4 +- rustdocs/zingen/control/index.html | 2 +- .../zingen/control/struct.ControlStack.html | 2 +- .../control/struct.ControlStackFrame.html | 4 +- .../zingen/enum.ControlStackFrameType.html | 4 +- rustdocs/zingen/enum.Error.html | 10 +- rustdocs/zingen/index.html | 4 +- rustdocs/zingen/jump/code/enum.Func.html | 33 +++ rustdocs/zingen/jump/code/index.html | 2 + rustdocs/zingen/jump/code/sidebar-items.js | 1 + rustdocs/zingen/jump/code/struct.Code.html | 28 ++ rustdocs/zingen/jump/enum.Jump.html | 8 +- rustdocs/zingen/jump/index.html | 4 +- rustdocs/zingen/jump/pc/index.html | 2 +- rustdocs/zingen/jump/relocate/fn.offset.html | 2 +- rustdocs/zingen/jump/relocate/fn.pc.html | 2 +- rustdocs/zingen/jump/relocate/index.html | 2 +- rustdocs/zingen/jump/sidebar-items.js | 2 +- rustdocs/zingen/jump/struct.JumpTable.html | 32 ++- rustdocs/zingen/local/enum.LocalSlotType.html | 2 +- rustdocs/zingen/local/index.html | 2 +- rustdocs/zingen/local/struct.LocalSlot.html | 2 +- rustdocs/zingen/local/struct.Locals.html | 2 +- rustdocs/zingen/masm/cmp/index.html | 2 +- rustdocs/zingen/masm/float/index.html | 2 +- rustdocs/zingen/masm/index.html | 2 +- rustdocs/zingen/masm/integer/index.html | 2 +- rustdocs/zingen/masm/memory/index.html | 2 +- rustdocs/zingen/masm/stack/index.html | 2 +- .../zingen/masm/struct.MacroAssembler.html | 2 +- rustdocs/zingen/result/enum.Error.html | 10 +- rustdocs/zingen/result/index.html | 2 +- rustdocs/zingen/result/type.Result.html | 2 +- rustdocs/zingen/sidebar-items.js | 2 +- rustdocs/zingen/struct.Assembler.html | 2 +- rustdocs/zingen/struct.Code.html | 28 ++ rustdocs/zingen/struct.CodeGen.html | 25 +- rustdocs/zingen/struct.ControlStack.html | 2 +- rustdocs/zingen/struct.ControlStackFrame.html | 4 +- rustdocs/zingen/struct.JumpTable.html | 32 ++- rustdocs/zingen/struct.LocalSlot.html | 2 +- rustdocs/zingen/struct.Locals.html | 2 +- rustdocs/zingen/struct.MacroAssembler.html | 2 +- rustdocs/zingen/type.Buffer.html | 2 +- rustdocs/zingen/type.Result.html | 2 +- .../fn.visit_op_when_unreachable.html | 2 +- rustdocs/zingen/validator/index.html | 2 +- .../validator/macro.validate_then_visit.html | 2 +- .../validator/struct.ValidateThenVisit.html | 2 +- .../validator/trait.ReachableState.html | 2 +- rustdocs/zingen/visitor/control/index.html | 2 +- rustdocs/zingen/visitor/handlers/index.html | 2 +- rustdocs/zingen/visitor/index.html | 2 +- rustdocs/zingen/visitor/local/index.html | 2 +- .../visitor/macro.impl_visit_operator.html | 2 +- .../visitor/macro.map_wasm_operators.html | 2 +- rustdocs/zingen/visitor/system/index.html | 2 +- rustdocs/zink/all.html | 2 +- rustdocs/zink/fn.panic.html | 2 +- rustdocs/zink/index.html | 2 +- rustdocs/zinkc/all.html | 2 +- rustdocs/zinkc/fn.main.html | 2 +- rustdocs/zinkc/index.html | 2 +- rustdocs/zinkc/struct.Zinkc.html | 2 +- rustdocs/zinkup/all.html | 2 +- rustdocs/zinkup/build/index.html | 2 +- rustdocs/zinkup/build/struct.Build.html | 2 +- rustdocs/zinkup/commands/index.html | 2 +- rustdocs/zinkup/compile/index.html | 2 +- rustdocs/zinkup/compile/struct.Compile.html | 2 +- rustdocs/zinkup/index.html | 2 +- rustdocs/zinkup/new/constant.ADDITION.html | 2 +- rustdocs/zinkup/new/constant.NAME.html | 2 +- rustdocs/zinkup/new/constant.README.html | 2 +- rustdocs/zinkup/new/index.html | 2 +- rustdocs/zinkup/new/struct.New.html | 2 +- rustdocs/zinkup/struct.Build.html | 2 +- rustdocs/zinkup/struct.Compile.html | 2 +- rustdocs/zinkup/struct.New.html | 2 +- rustdocs/zinkup/trait.App.html | 2 +- rustdocs/zinkup/utils/enum.Error.html | 8 +- rustdocs/zinkup/utils/enum.Profile.html | 2 +- rustdocs/zinkup/utils/index.html | 2 +- rustdocs/zinkup/utils/manifest/index.html | 2 +- .../utils/manifest/struct.Dependencies.html | 4 +- .../zinkup/utils/manifest/struct.Lib.html | 4 +- .../utils/manifest/struct.Manifest.html | 4 +- .../zinkup/utils/manifest/struct.Package.html | 4 +- rustdocs/zinkup/utils/result/enum.Error.html | 8 +- rustdocs/zinkup/utils/result/index.html | 2 +- rustdocs/zinkup/utils/result/type.Result.html | 2 +- rustdocs/zinkup/utils/struct.Manifest.html | 4 +- rustdocs/zinkup/utils/struct.WasmBuilder.html | 2 +- rustdocs/zinkup/utils/type.Result.html | 2 +- rustdocs/zinkup/utils/wasm/index.html | 2 +- .../zinkup/utils/wasm/struct.WasmBuilder.html | 2 +- rustdocs/zint/all.html | 2 +- rustdocs/zint/bytes/index.html | 2 +- rustdocs/zint/bytes/macro.impl_bytes32.html | 2 +- rustdocs/zint/bytes/trait.Bytes32.html | 4 +- rustdocs/zint/enum.InstructionResult.html | 4 +- rustdocs/zint/evm/constant.INITIAL_GAS.html | 2 +- rustdocs/zint/evm/enum.InstructionResult.html | 4 +- rustdocs/zint/evm/index.html | 2 +- rustdocs/zint/evm/struct.EVM.html | 2 +- rustdocs/zint/evm/struct.Info.html | 2 +- rustdocs/zint/index.html | 2 +- rustdocs/zint/struct.EVM.html | 2 +- rustdocs/zint/struct.Info.html | 2 +- rustdocs/zint/trait.Bytes32.html | 4 +- searchindex.js | 2 +- searchindex.json | 2 +- security.html | 2 +- stability/index.html | 2 +- stability/v0.1.0.html | 2 +- styles/index.html | 2 +- tutorial/compile-zink-project.html | 2 +- tutorial/create-zink-project.html | 2 +- tutorial/index.html | 2 +- 273 files changed, 1213 insertions(+), 390 deletions(-) create mode 100644 examples/select.html create mode 100644 rustdocs/implementors/core/cmp/trait.Ord.js create mode 100644 rustdocs/implementors/core/cmp/trait.PartialOrd.js create mode 100644 rustdocs/implementors/core/hash/trait.Hash.js create mode 100644 rustdocs/src/zingen/jump/code.rs.html rename rustdocs/static.files/{dark-45ceb8f2e522f4d1.css => dark-0a43001d3fc2282c.css} (68%) rename rustdocs/static.files/{light-6d2c9675f3d09c26.css => light-1596385f77d47ef2.css} (68%) create mode 100644 rustdocs/zingen/jump/code/enum.Func.html create mode 100644 rustdocs/zingen/jump/code/index.html create mode 100644 rustdocs/zingen/jump/code/sidebar-items.js create mode 100644 rustdocs/zingen/jump/code/struct.Code.html create mode 100644 rustdocs/zingen/struct.Code.html diff --git a/404.html b/404.html index 4eb93ce49..58b9d4c1c 100644 --- a/404.html +++ b/404.html @@ -84,7 +84,7 @@ diff --git a/appendix/index.html b/appendix/index.html index 5a00fe254..f85f499f1 100644 --- a/appendix/index.html +++ b/appendix/index.html @@ -83,7 +83,7 @@ diff --git a/appendix/optimizations.html b/appendix/optimizations.html index 8f3fcdcff..c4d5d951c 100644 --- a/appendix/optimizations.html +++ b/appendix/optimizations.html @@ -83,7 +83,7 @@ diff --git a/benchmarks/fibonacci.html b/benchmarks/fibonacci.html index f8097ee09..9f6847309 100644 --- a/benchmarks/fibonacci.html +++ b/benchmarks/fibonacci.html @@ -83,7 +83,7 @@ diff --git a/benchmarks/index.html b/benchmarks/index.html index 842cdc711..71d5d5953 100644 --- a/benchmarks/index.html +++ b/benchmarks/index.html @@ -83,7 +83,7 @@ diff --git a/cli/elko.html b/cli/elko.html index 8a013258c..c1aed04b6 100644 --- a/cli/elko.html +++ b/cli/elko.html @@ -83,7 +83,7 @@ diff --git a/cli/index.html b/cli/index.html index 33d496c0e..5861bf577 100644 --- a/cli/index.html +++ b/cli/index.html @@ -83,7 +83,7 @@ diff --git a/cli/zinkc.html b/cli/zinkc.html index 293580b28..aa10995bb 100644 --- a/cli/zinkc.html +++ b/cli/zinkc.html @@ -83,7 +83,7 @@ diff --git a/compiler/arithmetic.html b/compiler/arithmetic.html index 1c43f4a39..f94c4d0dc 100644 --- a/compiler/arithmetic.html +++ b/compiler/arithmetic.html @@ -83,7 +83,7 @@ diff --git a/compiler/calls.html b/compiler/calls.html index 689444488..c06d2bac8 100644 --- a/compiler/calls.html +++ b/compiler/calls.html @@ -83,7 +83,7 @@ diff --git a/compiler/control-flow.html b/compiler/control-flow.html index a2609a001..ca97038a8 100644 --- a/compiler/control-flow.html +++ b/compiler/control-flow.html @@ -83,7 +83,7 @@ diff --git a/compiler/index.html b/compiler/index.html index 7970a449f..98a4e31a8 100644 --- a/compiler/index.html +++ b/compiler/index.html @@ -83,7 +83,7 @@ diff --git a/compiler/locals.html b/compiler/locals.html index 6b495a130..9be7d3137 100644 --- a/compiler/locals.html +++ b/compiler/locals.html @@ -83,7 +83,7 @@ diff --git a/compiler/recursion.html b/compiler/recursion.html index e38c58af3..60258c742 100644 --- a/compiler/recursion.html +++ b/compiler/recursion.html @@ -83,7 +83,7 @@ diff --git a/contributing/architecture.html b/contributing/architecture.html index dbdaeadf9..d52b87fa7 100644 --- a/contributing/architecture.html +++ b/contributing/architecture.html @@ -83,7 +83,7 @@ diff --git a/contributing/building.html b/contributing/building.html index cf82fa3bf..234235657 100644 --- a/contributing/building.html +++ b/contributing/building.html @@ -83,7 +83,7 @@ diff --git a/contributing/index.html b/contributing/index.html index 017a3a809..c44a2cdf9 100644 --- a/contributing/index.html +++ b/contributing/index.html @@ -83,7 +83,7 @@ diff --git a/contributing/testing.html b/contributing/testing.html index 9347edd3e..a67a5f4c6 100644 --- a/contributing/testing.html +++ b/contributing/testing.html @@ -83,7 +83,7 @@ diff --git a/examples/add-two.html b/examples/add-two.html index 875a0b502..fd3888ba3 100644 --- a/examples/add-two.html +++ b/examples/add-two.html @@ -83,7 +83,7 @@ @@ -182,6 +182,23 @@

AddTwo

pub extern "C" fn addition(x: u64, y: u64) -> u64 { x + y } +

A basic addition program in zink

+
(module
+    (func (param i32) (param i32) (result i32)
+    (local.get 0)
+    (local.get 1)
+    (i32.add)
+    )
+)
+
+

Requires:

+ +
6000356020350160005260206000f3
+
@@ -191,7 +208,7 @@

AddTwo

- @@ -205,7 +222,7 @@

AddTwo

- diff --git a/examples/fibonacci.html b/examples/fibonacci.html index 1f5899513..fb5701aed 100644 --- a/examples/fibonacci.html +++ b/examples/fibonacci.html @@ -83,7 +83,7 @@ @@ -192,12 +192,49 @@

Fibonacci

recursion(n - 1) + recursion(n - 2) } } +

A recursion example, complex in bytecode

+
(module
+  (type (;0;) (func (param i32) (result i32)))
+  (func (;0;) (type 0) (param i32) (result i32)
+    local.get 0
+    call 1)
+  (func (;1;) (type 0) (param i32) (result i32)
+    (local i32)
+    local.get 0
+    i32.const 2
+    i32.ge_u
+    if  ;; label = @1
+      loop  ;; label = @2
+        local.get 0    ;; 1
+        i32.const 1    ;; 2
+        i32.sub        ;; 1
+        call 1         ;; 1
+        local.get 1    ;; 2
+        i32.add        ;; 1
+        local.set 1    ;; 0
+        local.get 0    ;; 1
+        i32.const 2    ;; 2
+        i32.sub        ;; 1
+        local.tee 0    ;; 1
+        i32.const 1    ;; 2
+        i32.gt_u       ;; 1
+        br_if 0 (;@2;) ;; 2 -> 0
+      end
+    end
+    local.get 0
+    local.get 1
+    i32.add))
+
+

A more complex implementation of locals ( params + local variables) is introduced in this example, +control flow br_if and loop are compiled as well.

+
600035586010565b60005260206000f35b906000816002600190031015603d575b8160019003586010565b8101905081600290038092506001106020575b8181019150509060040156
+