Program: provide shortcuts for init / execution steps
This commit is contained in:
parent
7701030b0c
commit
eb0954eeee
1 changed files with 17 additions and 8 deletions
|
|
@ -126,20 +126,29 @@ defmodule Scopes.Core.Program do
|
||||||
two = {:csys, :c00, "1-1"}
|
two = {:csys, :c00, "1-1"}
|
||||||
three = {:csys, :s01, "1-1"}
|
three = {:csys, :s01, "1-1"}
|
||||||
[
|
[
|
||||||
fn -> Environ.create(zero, addr: one, dir: :pred,
|
step_create(zero, addr: one, dir: :pred, op: [Core.data_only(), negate()]),
|
||||||
op: [Core.data_only(), negate()]) end,
|
step_create(one, addr: two, dir: :succ, op: Core.data_only()),
|
||||||
fn -> Environ.create(one, op: Core.data_only(), addr: two, dir: :succ) end,
|
step_create(two, addr: three, dir: :pred),
|
||||||
fn -> Environ.create(two, addr: three, dir: :pred) end,
|
step_connect(three, zero)
|
||||||
fn -> Environ.connect(three, zero) end
|
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
def init_recursive_1() do
|
def init_recursive_1() do
|
||||||
zero = {:csys, :c00, "0-0"}
|
zero = {:csys, :c00, "0-0"}
|
||||||
[
|
[
|
||||||
fn -> Environ.create(zero, dir: :succ) end,
|
step_create(zero, dir: :succ),
|
||||||
fn -> Environ.create(zero, addr: {:csys, :s01, "1-1"}, dir: :pred) end,
|
step_create(zero, addr: {:csys, :s01, "1-1"}, dir: :pred),
|
||||||
fn -> Environ.connect(zero, zero, negate()) end
|
step_connect(zero, zero, negate())
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# predefined init / execution steps
|
||||||
|
|
||||||
|
def step_create(addr, args) do
|
||||||
|
fn -> Environ.create(addr, args) end
|
||||||
|
end
|
||||||
|
|
||||||
|
def step_connect(addr, target, op \\ []) do
|
||||||
|
fn -> Environ.connect(addr, target, op) end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue