fmt
This commit is contained in:
parent
da4484d4f5
commit
e6ef9e16d7
|
|
@ -78,7 +78,7 @@ fn infix_seq(parser: *Parser, precedence: u32, lhs: *const Expr, _: Token) Error
|
|||
fn infix_assign(parser: *Parser, precedence: u32, lhs: *const Expr, tok: Token) Error!*const Expr {
|
||||
var rhs = try parser.parse_expr(precedence);
|
||||
if (tok.kind != op_kind("=")) {
|
||||
rhs = try parser.make_expr(.{ .binop = .{ .lhs = lhs, .rhs = rhs, .op = tok }});
|
||||
rhs = try parser.make_expr(.{ .binop = .{ .lhs = lhs, .rhs = rhs, .op = tok } });
|
||||
}
|
||||
return try parser.make_expr(.{ .assign = .{ .lhs = lhs, .rhs = rhs } });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,9 +45,9 @@ pub const sz_inst = union(enum) {
|
|||
if (@TypeOf(n) == void) {
|
||||
try writer.print("[{s}]", .{@tagName(value)});
|
||||
} else {
|
||||
try writer.print("[{s} {}]", .{@tagName(value), n});
|
||||
try writer.print("[{s} {}]", .{ @tagName(value), n });
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -80,7 +80,7 @@ const sz_code_tmp = struct {
|
|||
const name = src[a.start..a.end];
|
||||
const i = try self.name.getOrPutValue(name, self.vars.items.len);
|
||||
if (self.vars.items.len == i.value_ptr.*) {
|
||||
try self.vars.append(.{.tag = .err});
|
||||
try self.vars.append(.{ .tag = .err });
|
||||
}
|
||||
try self.bc.append(.{ .push_var = @truncate(i.value_ptr.*) });
|
||||
},
|
||||
|
|
@ -117,12 +117,12 @@ const sz_code_tmp = struct {
|
|||
fn append_assign(self: *sz_code_tmp, src: []const u8, expr: *const Expr) !void {
|
||||
switch (expr.*) {
|
||||
.atom => |a| {
|
||||
switch(a.kind) {
|
||||
switch (a.kind) {
|
||||
.name => {
|
||||
const name = src[a.start..a.end];
|
||||
const i = try self.name.getOrPutValue(name, self.vars.items.len);
|
||||
if (self.vars.items.len == i.value_ptr.*) {
|
||||
try self.vars.append(.{.tag = .err});
|
||||
try self.vars.append(.{ .tag = .err });
|
||||
}
|
||||
try self.bc.append(.{ .pop_var = @truncate(i.value_ptr.*) });
|
||||
},
|
||||
|
|
@ -137,7 +137,7 @@ const sz_code_tmp = struct {
|
|||
pub fn compile(allocator: std.mem.Allocator, src: []const u8) !sz_code {
|
||||
var p = try parse.Parser.init(allocator);
|
||||
const expr = try p.parse(src);
|
||||
var code = sz_code_tmp{ .consts = std.ArrayList(sz_obj).init(allocator), .vars = std.ArrayList(sz_obj).init(allocator), .bc = std.ArrayList(sz_inst).init(allocator), .name = std.StringHashMap(usize).init(allocator)};
|
||||
var code = sz_code_tmp{ .consts = std.ArrayList(sz_obj).init(allocator), .vars = std.ArrayList(sz_obj).init(allocator), .bc = std.ArrayList(sz_inst).init(allocator), .name = std.StringHashMap(usize).init(allocator) };
|
||||
try code.append(src, expr);
|
||||
try code.clean_stack(expr);
|
||||
return code.finalize();
|
||||
|
|
|
|||
Loading…
Reference in a new issue