| ... | @@ -43,17 +43,27 @@ const example_document = | ... | @@ -43,17 +43,27 @@ const example_document = |
| 43 | \\) | 43 | \\) |
| 44 | ; | 44 | ; |
| 45 | | 45 | |
| | 46 | const S = struct { |
| | 47 | name: []const u8, |
| | 48 | state: struct { |
| | 49 | code: []const u8, |
| | 50 | }, |
| | 51 | }; |
| | 52 | |
| 46 | pub fn main() !void { | 53 | pub fn main() !void { |
| | 54 | var gpa = std.heap.GeneralPurposeAllocator(.{}){}; |
| | 55 | const alloc = gpa.allocator(); |
| | 56 | |
| 47 | var name: []const u8 = "Meghan D"; | 57 | var name: []const u8 = "Meghan D"; |
| 48 | const doc = comptime pek.parse(example_document); | 58 | const doc = comptime pek.parse(example_document); |
| 49 | try pek.compile(std.io.getStdOut().writer(), doc, .{ | 59 | try pek.compile(@This(), alloc, std.io.getStdOut().writer(), doc, .{ |
| 50 | .author = name, | 60 | .author = name, |
| 51 | .favorite = .{ | 61 | .favorite = .{ |
| 52 | .flower = "Sunflower", | 62 | .flower = "Sunflower", |
| 53 | .program_lang = "Zig", | 63 | .program_lang = "Zig", |
| 54 | .color = "Pink", | 64 | .color = "Pink", |
| 55 | }, | 65 | }, |
| 56 | .top_cities = .{ | 66 | .top_cities = &[_]S{ |
| 57 | .{ .name = "New York", .state = .{ .code = "NY" } }, | 67 | .{ .name = "New York", .state = .{ .code = "NY" } }, |
| 58 | .{ .name = "Los Angeles", .state = .{ .code = "CA" } }, | 68 | .{ .name = "Los Angeles", .state = .{ .code = "CA" } }, |
| 59 | .{ .name = "Chicago", .state = .{ .code = "IL" } }, | 69 | .{ .name = "Chicago", .state = .{ .code = "IL" } }, |