lox-d/test/fields.lox
2025-06-13 02:29:46 +00:00

48 lines
585 B
Text

class Obj{}
var p = Obj();
p.length = 0;
p.next = nil;
fun append(p, item){
p.length = p.length + 1;
var n = Obj();
n.next = p.next;
p.next = n;
}
fun walk(p){
class Res{}
var n = p;
var d = 0;
while(n.next){
n = n.next;
d = d + 1;
}
var r = Res();
r.item = n;
r.depth = d;
return r;
}
fun max(a, b){
if(a > b)
return a;
return b;
}
var sum = 0;
var maxLength = 0;
for(var i = 0; i < 10; i = i + 1){
append(p, Obj());
sum = sum + p.length;
var res = walk(p);
sum = sum - res.depth;
maxLength = max(maxLength, p.length);
}
print sum;
print maxLength;