summaryrefslogtreecommitdiff
path: root/src/estd/parser/common.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/estd/parser/common.zig')
-rw-r--r--src/estd/parser/common.zig32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/estd/parser/common.zig b/src/estd/parser/common.zig
index 986af58..2802838 100644
--- a/src/estd/parser/common.zig
+++ b/src/estd/parser/common.zig
@@ -4,25 +4,25 @@ const Context = @import("context.zig").Context;
const ParseFn = root.ParseFn;
pub fn LiteralFn(comptime I: type, comptime O: type) type {
- return *const fn (comptime literal: []const I, value: O) ParseFn(I, O);
+ return *const fn (comptime literal: []const I, value: O) ParseFn(I, O);
}
pub fn Literal(comptime I: type, comptime O: type) LiteralFn(I, O) {
- return struct {
- pub fn literal(comptime lit: []const I, value: O) ParseFn(I, O) {
- return struct {
- pub fn parse(ctx: *Context(I)) !O {
- const snapshot = ctx.cursor.snapshot();
- errdefer ctx.cursor.rollback(snapshot);
+ return struct {
+ pub fn literal(comptime lit: []const I, value: O) ParseFn(I, O) {
+ return struct {
+ pub fn parse(ctx: *Context(I)) !O {
+ const snapshot = ctx.cursor.snapshot();
+ errdefer ctx.cursor.rollback(snapshot);
- const slice = try ctx.cursor.consume(lit.len);
- if (std.mem.eql(I, lit, slice)) {
- return value;
- }
+ const slice = try ctx.cursor.consume(lit.len);
+ if (std.mem.eql(I, lit, slice)) {
+ return value;
+ }
- return error.UnexpectedLiteral;
- }
- }.parse;
- }
- }.literal;
+ return error.UnexpectedLiteral;
+ }
+ }.parse;
+ }
+ }.literal;
}