rm ast_printer
This commit is contained in:
parent
90f33e84fc
commit
b0e123f83a
1 changed files with 0 additions and 32 deletions
|
@ -1,32 +0,0 @@
|
||||||
const std = @import("std");
|
|
||||||
const ast = @import("ast.zig");
|
|
||||||
|
|
||||||
fn parenthesize(name: []const u8, exprs: []*ast.Expr) void {
|
|
||||||
std.debug.warn("({}", name);
|
|
||||||
|
|
||||||
for (exprs) |expr| {
|
|
||||||
std.debug.warn(" ");
|
|
||||||
printAst(expr);
|
|
||||||
}
|
|
||||||
|
|
||||||
std.debug.warn(")");
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn printAst(ast_expr: *ast.Expr) void {
|
|
||||||
switch (ast_expr.*) {
|
|
||||||
.Binary => |expr| parenthesize(expr.operator.lexeme, &[_]*ast.Expr{ expr.left, expr.right }),
|
|
||||||
.Grouping => |expr| parenthesize("group", &[_]*ast.Expr{expr.expression}),
|
|
||||||
.Unary => |expr| parenthesize(expr.operator.lexeme, &[_]*ast.Expr{expr.right}),
|
|
||||||
.Number => |ast_num| {
|
|
||||||
switch (ast_num) {
|
|
||||||
.Integer32 => |num| std.debug.warn("{}", num),
|
|
||||||
.Integer64 => |num| std.debug.warn("{}", num),
|
|
||||||
.Unsigned32 => |num| std.debug.warn("{}", num),
|
|
||||||
.Unsigned64 => |num| std.debug.warn("{}", num),
|
|
||||||
.Float32 => |num| std.debug.warn("{}", num),
|
|
||||||
.Float64 => |num| std.debug.warn("{}", num),
|
|
||||||
}
|
|
||||||
},
|
|
||||||
else => unreachable,
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue