From 722992ee28830b38c5e46e477e0ab7b2627a3f1d Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Wed, 14 May 2025 17:02:41 +0200 Subject: fix entry argument --- grammar/middle-recursion.grm | 2 +- src/argument.zig | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/grammar/middle-recursion.grm b/grammar/middle-recursion.grm index 71cc71f..ccb8b58 100644 --- a/grammar/middle-recursion.grm +++ b/grammar/middle-recursion.grm @@ -1,3 +1,3 @@ -main -> 'a' main B | B +S -> 'a' S B | B A -> 'ab' B -> A | 'b' diff --git a/src/argument.zig b/src/argument.zig index a9c823d..75bb7bf 100644 --- a/src/argument.zig +++ b/src/argument.zig @@ -143,11 +143,6 @@ pub const Args = union(Mode) { const text = Entry.read_file(check(args.next()), allocator); defer allocator.free(text); - const grammar = Grammar.parse( - "main", - text, - allocator - ) catch |e| help(e); switch (mode) { .recognize => { @@ -162,6 +157,12 @@ pub const Args = union(Mode) { } else help(error.InvalidArgument); } + const grammar = Grammar.parse( + entry, + text, + allocator + ) catch |e| help(e); + return Self { .recognize = .{ .input = input orelse Entry.stdin(), @@ -191,6 +192,12 @@ pub const Args = union(Mode) { } else help(error.InvalidArgument); } + const grammar = Grammar.parse( + entry, + text, + allocator + ) catch |e| help(e); + return Self { .generate = .{ .count = count, -- cgit v1.2.3-70-g09d2