X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lr-driver.el;h=32fe2945173823c1d023ff8d0718281d99f650f1;hb=4d9c85cce61c5f3a0e1746a885b57b667f3843d8;hp=7c14b19ec9bddc6ee456f345feb34515192b2f25;hpb=f87bb7feacfe97e675fd65ef0b3da18a17c52930;p=elisp%2Fflim.git diff --git a/lr-driver.el b/lr-driver.el index 7c14b19..32fe294 100644 --- a/lr-driver.el +++ b/lr-driver.el @@ -29,7 +29,7 @@ (defconst lr-max-stack-size 500) -(defun lr-push (stack sp new-cat goto-table lval) +(defsubst lr-push (stack sp new-cat goto-table lval) (let* ((state (aref stack sp)) (new-state (cdr (assq new-cat (aref goto-table state)))) (new-sp (+ sp 2))) @@ -69,4 +69,4 @@ ;; Reduce by rule (- act) (t - (setq sp (funcall (aref reduction-table (- act)) stack sp goto-table))))))))) + (setq sp (funcall (aref reduction-table (- act)) stack sp goto-table (cdr input))))))))))