summaryrefslogtreecommitdiff
path: root/codegen
diff options
context:
space:
mode:
Diffstat (limited to 'codegen')
-rw-r--r--codegen/dwp.zig24
-rw-r--r--codegen/gbp.zig36
2 files changed, 44 insertions, 16 deletions
diff --git a/codegen/dwp.zig b/codegen/dwp.zig
index 75ac68e..b4d1ed0 100644
--- a/codegen/dwp.zig
+++ b/codegen/dwp.zig
@@ -235,12 +235,24 @@ pub fn main() anyerror!void {
235 defer out_file.close(); 235 defer out_file.close();
236 var writer = out_file.writer(&write_buf); 236 var writer = out_file.writer(&write_buf);
237 237
238 const endian = builtin.cpu.arch.endian(); 238 try writer.interface.print(
239 try writer.interface.writeInt(u16, @intCast(stage1.items.len), endian); 239 \\//! This file is auto-generated. Do not edit.
240 for (stage1.items) |i| try writer.interface.writeInt(u16, i, endian); 240 \\
241 241 \\pub const s1: [{}]u16 = .{{
242 try writer.interface.writeInt(u16, @intCast(stage2.items.len), endian); 242 , .{stage1.items.len});
243 for (stage2.items) |i| try writer.interface.writeInt(i8, i, endian); 243 for (stage1.items) |entry| try writer.interface.print("{}, ", .{entry});
244
245 try writer.interface.print(
246 \\
247 \\}};
248 \\
249 \\pub const s2: [{}]i4 = .{{
250 , .{stage2.items.len});
251 for (stage2.items) |entry| try writer.interface.print("{}, ", .{entry});
252
253 try writer.interface.writeAll(
254 \\};
255 );
244 256
245 try writer.interface.flush(); 257 try writer.interface.flush();
246} 258}
diff --git a/codegen/gbp.zig b/codegen/gbp.zig
index 1d06e9a..117847f 100644
--- a/codegen/gbp.zig
+++ b/codegen/gbp.zig
@@ -240,16 +240,32 @@ pub fn main() anyerror!void {
240 defer out_file.close(); 240 defer out_file.close();
241 var writer = out_file.writer(&write_buf); 241 var writer = out_file.writer(&write_buf);
242 242
243 const endian = builtin.cpu.arch.endian(); 243 try writer.interface.print(
244 try writer.interface.writeInt(u16, @intCast(stage1.items.len), endian); 244 \\//! This file is auto-generated. Do not edit.
245 for (stage1.items) |i| try writer.interface.writeInt(u16, i, endian); 245 \\
246 246 \\pub const s1: [{}]u16 = .{{
247 try writer.interface.writeInt(u16, @intCast(stage2.items.len), endian); 247 , .{stage1.items.len});
248 for (stage2.items) |i| try writer.interface.writeInt(u16, i, endian); 248 for (stage1.items) |entry| try writer.interface.print("{}, ", .{entry});
249 249
250 const props_bytes = stage3.keys(); 250 try writer.interface.print(
251 try writer.interface.writeInt(u16, @intCast(props_bytes.len), endian); 251 \\
252 try writer.interface.writeAll(props_bytes); 252 \\}};
253 \\
254 \\pub const s2: [{}]u7 = .{{
255 , .{stage2.items.len});
256 for (stage2.items) |entry| try writer.interface.print("{}, ", .{entry});
257
258 const keys = stage3.keys();
259
260 try writer.interface.print(
261 \\}};
262 \\
263 \\pub const s3: [{}]u8 = .{{
264 , .{keys.len});
265 for (keys) |entry| try writer.interface.print("{}, ", .{entry});
266 try writer.interface.writeAll(
267 \\};
268 );
253 269
254 try writer.interface.flush(); 270 try writer.interface.flush();
255} 271}