diff options
Diffstat (limited to 'src/parse.zig')
-rw-r--r-- | src/parse.zig | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/parse.zig b/src/parse.zig index 2149cd7..e0c1fd0 100644 --- a/src/parse.zig +++ b/src/parse.zig @@ -26,6 +26,15 @@ pub const Expr = struct { }; }; }; + + pub fn getInt(self: *const @This(), file_source: []const u8) u64 { + var value: u64 = 0; + for (file_source[self.loc.start..self.loc.end]) |c| { + std.debug.assert('0' <= c and c <= '9'); + value = value * 10 + c - '0'; + } + return value; + } }; pub fn expression(allocator: Allocator, lexer: *Peekable(Lexer)) error{OutOfMemory}!*Expr { |