aboutsummaryrefslogtreecommitdiff
path: root/src/parse.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse.zig')
-rw-r--r--src/parse.zig9
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 {