tiny.chant.parse.state.tag
Defined in parse.state.
API (2)
Actions
Public operations.
Source
Source: lib/chant/src/parse/state/root.zig:9
zig
pub const tag = @import("tag.zig");Source: lib/chant/src/parse/state/tag.zig
zig
const std = @import("std");const ast = @import("../../ast/root.zig");const types = @import("types.zig");const Error = @import("../root.zig").Error;const Parser = types.Parser;pub fn register(parser: *Parser, name: []const u8, resolved: *const ast.Type) Error!void { try parser.tags.put(parser.arena, name, resolved);}pub fn lookup(parser: *const Parser, name: []const u8) ?*const ast.Type { return parser.tags.get(name);}test "tags register and resolve" { const chant = @import("../../root.zig"); var arena_state = std.heap.ArenaAllocator.init(std.testing.allocator); defer arena_state.deinit(); const arena = arena_state.allocator(); const tokens = [_]chant.Token{ .{ .kind = .eof, .text = "", .file = "test.c", .line = 1, .column = 1 }, }; var parser = try @import("test.zig").initParser(arena, &tokens); try register(&parser, "E", &ast.types.int_type); try std.testing.expect(lookup(&parser, "E").? == &ast.types.int_type);}Audit
| Definitions | 3 |
|---|---|
| Public names | 3 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |