summaryrefslogtreecommitdiff
path: root/codegen/normp.zig
diff options
context:
space:
mode:
authorGravatar Sam Atman2026-02-04 18:01:36 -0500
committerGravatar Sam Atman2026-02-04 18:01:36 -0500
commitba5d9081b479e95ffa7f3baf751beedd370cec14 (patch)
treec12041d8aab9f9ff68b25a2e2c9042073c3d5f61 /codegen/normp.zig
parentConvert Words module to no-allocation (diff)
downloadzg-ba5d9081b479e95ffa7f3baf751beedd370cec14.tar.gz
zg-ba5d9081b479e95ffa7f3baf751beedd370cec14.tar.xz
zg-ba5d9081b479e95ffa7f3baf751beedd370cec14.zip
Normalization and case folding
Both of which deserve some further attention.
Diffstat (limited to 'codegen/normp.zig')
-rw-r--r--codegen/normp.zig24
1 files changed, 18 insertions, 6 deletions
diff --git a/codegen/normp.zig b/codegen/normp.zig
index eaf6989..343f03e 100644
--- a/codegen/normp.zig
+++ b/codegen/normp.zig
@@ -121,12 +121,24 @@ pub fn main() anyerror!void {
121 defer out_file.close(); 121 defer out_file.close();
122 var writer = out_file.writer(&write_buf); 122 var writer = out_file.writer(&write_buf);
123 123
124 const endian = builtin.cpu.arch.endian(); 124 try writer.interface.print(
125 try writer.interface.writeInt(u16, @intCast(stage1.items.len), endian); 125 \\//! This file is auto-generated. Do not edit.
126 for (stage1.items) |i| try writer.interface.writeInt(u16, i, endian); 126 \\
127 127 \\pub const s1: [{}]u16 = .{{
128 try writer.interface.writeInt(u16, @intCast(stage2.items.len), endian); 128 , .{stage1.items.len});
129 for (stage2.items) |i| try writer.interface.writeInt(u8, i, endian); 129 for (stage1.items) |entry| try writer.interface.print("{}, ", .{entry});
130
131 try writer.interface.print(
132 \\
133 \\}};
134 \\
135 \\pub const s2: [{}]u3 = .{{
136 , .{stage2.items.len});
137 for (stage2.items) |entry| try writer.interface.print("{}, ", .{entry});
138
139 try writer.interface.writeAll(
140 \\};
141 );
130 142
131 try writer.interface.flush(); 143 try writer.interface.flush();
132} 144}