c-dsl/ir
src/c-dsl/ir.tur
defn
node-cata
(node-cata [B])
defn
ce-raw
(ce-raw [s : cstr] :)
defn
ce-var
(ce-var [name : cstr] :)
defn
ce-lit
(ce-lit [s : cstr] :)
defn
ce-binop
(ce-binop [op : cstr a : CNode b : CNode] :)
defn
ce-unop
(ce-unop [op : cstr a : CNode] :)
defn
ce-addr
(ce-addr [a : CNode] :)
defn
ce-deref
(ce-deref [a : CNode] :)
defn
ce-ternary
(ce-ternary [c : CNode t : CNode e : CNode] :)
defn
ce-index
(ce-index [a : CNode i : CNode] :)
defn
ce-cast
(ce-cast [a : CNode type : cstr] :)
defn
cs-raw
(cs-raw [s : cstr] :)
defn
cs-expr
(cs-expr [e : CNode] :)
defn
cs-return
(cs-return [e : CNode] :)
defn
cs-return-void
(cs-return-void :)
defn
cs-set
(cs-set [lhs : CNode rhs : CNode] :)
defn
cs-if
(cs-if [c : CNode t : CNode e : CNode] :)
defn
cs-if-only
(cs-if-only [c : CNode t : CNode] :)
defn
cs-while
(cs-while [c : CNode b : CNode] :)
defn
cs-do-while
(cs-do-while [b : CNode c : CNode] :)
defn
cs-seq
(cs-seq [a : CNode b : CNode] :)
defn
node->c
(node->c [n : CNode] :)
defn
node-size
(node-size [n : CNode] :)
Internal definitions
Functor[CNodeF]unroll-nodenode->c-algnode-size-alg