.
This commit is contained in:
parent
85065a23e6
commit
822f5c9ae4
2 changed files with 6 additions and 6 deletions
|
|
@ -3,7 +3,6 @@ Interp :: struct {
|
|||
|
||||
symbols: kv.Kv(string, *Interp_Value);
|
||||
toplevel: []*Node;
|
||||
// stack: [..]*Interp_Value;
|
||||
}
|
||||
|
||||
Interp_Value :: struct {
|
||||
|
|
@ -27,8 +26,6 @@ Interp_Value :: struct {
|
|||
}
|
||||
|
||||
init :: (i: *Interp, allocator: Allocator) {
|
||||
// i.stack.allocator = allocator;
|
||||
|
||||
value_nil = make_interp_value(i, .nil);
|
||||
|
||||
value_true = make_interp_value(i, .bool);
|
||||
|
|
@ -56,15 +53,16 @@ interp_program :: (i: *Interp) {
|
|||
case .print;
|
||||
print := it.(*Node_Print);
|
||||
expr := interp_expr(i, print.expr);
|
||||
basic.assert(expr != null); // @errors
|
||||
if expr == null continue;
|
||||
|
||||
if expr.kind == {
|
||||
case .none; basic.print("()");
|
||||
case .none; // do nothing
|
||||
case .nil; basic.print("nil");
|
||||
case .bool; basic.print("%", expr.b);
|
||||
case .int; basic.print("%", expr.i);
|
||||
case .float; basic.print("%", expr.f);
|
||||
case .string; basic.print("%", expr.s);
|
||||
case; basic.assert(false, "unhandled interp value kind: %", expr.kind);
|
||||
}
|
||||
|
||||
basic.print("\n");
|
||||
|
|
|
|||
|
|
@ -5,11 +5,13 @@
|
|||
|
||||
#scope_module;
|
||||
|
||||
// exported to the entire module since we want these everywhere
|
||||
|
||||
mem :: #import "jc/memory";
|
||||
array :: #import "jc/array";
|
||||
kv :: #import "jc/kv";
|
||||
|
||||
basic :: #import "Basic"; // @future
|
||||
basic :: #import "Basic"; // @future
|
||||
strings :: #import "String"; // @future
|
||||
|
||||
#scope_file;
|
||||
|
|
|
|||
Loading…
Reference in a new issue