aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--argot.lisp3
1 files changed, 2 insertions, 1 deletions
diff --git a/argot.lisp b/argot.lisp
index 2d72866..f86ce22 100644
--- a/argot.lisp
+++ b/argot.lisp
@@ -225,7 +225,8 @@ any pattern fails the whole parse fails."
(let ((*bindings* nil))
(try-parse (result) (parse-pattern (rule-pattern rule))
(if (rule-action rule)
- (succeed (funcall (rule-action rule) *bindings*))
+ (succeed (funcall (rule-action rule)
+ (acons nonterminal result *bindings*)))
(succeed result))))
(fail)))