pointer arithmatic
This commit is contained in:
24
k.krak
24
k.krak
@@ -166,6 +166,30 @@ fun main(argc: int, argv: **char): int {
|
|||||||
template_type
|
template_type
|
||||||
), false, false))), vec<*binding<type>>()))))
|
), false, false))), vec<*binding<type>>()))))
|
||||||
|
|
||||||
|
for (var i = 0; i < number_tower.size - 2; i++;) {
|
||||||
|
var template_type = binding_p(type::_template_placeholder())
|
||||||
|
primitive_ops[str("op+")].add(_template(str("+"), map(str("T"), template_type), vec(_compiler_intrinsic(str("+"), binding_p(type::_fun(make_triple(make_pair(vec(
|
||||||
|
number_tower[i],
|
||||||
|
binding_p(type::_ptr(template_type))
|
||||||
|
),
|
||||||
|
binding_p(type::_ptr(template_type))
|
||||||
|
), false, false))), vec<*binding<type>>()))))
|
||||||
|
primitive_ops[str("op+")].add(_template(str("+"), map(str("T"), template_type), vec(_compiler_intrinsic(str("+"), binding_p(type::_fun(make_triple(make_pair(vec(
|
||||||
|
binding_p(type::_ptr(template_type)),
|
||||||
|
number_tower[i]
|
||||||
|
),
|
||||||
|
binding_p(type::_ptr(template_type))
|
||||||
|
), false, false))), vec<*binding<type>>()))))
|
||||||
|
|
||||||
|
// note only ptr-1, not 1-ptr to match C...
|
||||||
|
primitive_ops[str("op-")].add(_template(str("-"), map(str("T"), template_type), vec(_compiler_intrinsic(str("-"), binding_p(type::_fun(make_triple(make_pair(vec(
|
||||||
|
binding_p(type::_ptr(template_type)),
|
||||||
|
number_tower[i]
|
||||||
|
),
|
||||||
|
binding_p(type::_ptr(template_type))
|
||||||
|
), false, false))), vec<*binding<type>>()))))
|
||||||
|
}
|
||||||
|
|
||||||
// resolves all binding possibilities for one top level item
|
// resolves all binding possibilities for one top level item
|
||||||
passes[str("name_possibility_resolve")] = fun(item: *tree<ast>) {
|
passes[str("name_possibility_resolve")] = fun(item: *tree<ast>) {
|
||||||
println("Running name possibility resolver?")
|
println("Running name possibility resolver?")
|
||||||
|
|||||||
Reference in New Issue
Block a user