diff options
Diffstat (limited to 'codegen/gencat.zig')
| -rw-r--r-- | codegen/gencat.zig | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/codegen/gencat.zig b/codegen/gencat.zig index 9800f1d..12c8373 100644 --- a/codegen/gencat.zig +++ b/codegen/gencat.zig | |||
| @@ -150,21 +150,38 @@ pub fn main() !void { | |||
| 150 | defer args_iter.deinit(); | 150 | defer args_iter.deinit(); |
| 151 | _ = args_iter.skip(); | 151 | _ = args_iter.skip(); |
| 152 | const output_path = args_iter.next() orelse @panic("No output file arg!"); | 152 | const output_path = args_iter.next() orelse @panic("No output file arg!"); |
| 153 | |||
| 154 | var write_buf: [4096]u8 = undefined; | 153 | var write_buf: [4096]u8 = undefined; |
| 155 | var out_file = try std.fs.cwd().createFile(output_path, .{}); | 154 | var out_file = try std.fs.cwd().createFile(output_path, .{}); |
| 156 | defer out_file.close(); | 155 | defer out_file.close(); |
| 157 | var writer = out_file.writer(&write_buf); | 156 | var writer = out_file.writer(&write_buf); |
| 158 | 157 | ||
| 159 | const endian = builtin.cpu.arch.endian(); | 158 | try writer.interface.print( |
| 160 | try writer.interface.writeInt(u16, @intCast(stage1.items.len), endian); | 159 | \\//! This file is auto-generated. Do not edit. |
| 161 | for (stage1.items) |i| try writer.interface.writeInt(u16, i, endian); | 160 | \\ |
| 162 | 161 | \\pub const s1: [{}]u16 = .{{ | |
| 163 | try writer.interface.writeInt(u16, @intCast(stage2.items.len), endian); | 162 | , .{stage1.items.len}); |
| 164 | for (stage2.items) |i| try writer.interface.writeInt(u8, i, endian); | 163 | for (stage1.items) |entry| try writer.interface.print("{}, ", .{entry}); |
| 165 | 164 | ||
| 166 | try writer.interface.writeInt(u8, @intCast(stage3.items.len), endian); | 165 | try writer.interface.print( |
| 167 | for (stage3.items) |i| try writer.interface.writeInt(u8, i, endian); | 166 | \\ |
| 167 | \\}}; | ||
| 168 | \\ | ||
| 169 | \\pub const stage2: [{}]u5 = .{{ | ||
| 170 | , .{stage2.items.len}); | ||
| 171 | for (stage2.items) |entry| try writer.interface.print("{}, ", .{entry}); | ||
| 172 | |||
| 173 | try writer.interface.print( | ||
| 174 | \\ | ||
| 175 | \\}}; | ||
| 176 | \\ | ||
| 177 | \\pub const stage3: [{}]5 = .{{ | ||
| 178 | , .{stage3.items.len}); | ||
| 179 | for (stage3.items) |entry| try writer.interface.print("{}, ", .{entry}); | ||
| 180 | |||
| 181 | try writer.interface.writeAll( | ||
| 182 | \\}; | ||
| 183 | ); | ||
| 168 | 184 | ||
| 169 | try writer.interface.flush(); | 185 | try writer.interface.flush(); |
| 186 | try writer.interface.flush(); | ||
| 170 | } | 187 | } |