branch: externals/parser-generator commit 2592481b7616cd64da347b6b55828b3c30a1d9fb Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Added TODO notes --- parser-generator-lr.el | 4 ++-- test/parser-generator-lr-test.el | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/parser-generator-lr.el b/parser-generator-lr.el index 8c74a52..12128fa 100644 --- a/parser-generator-lr.el +++ b/parser-generator-lr.el @@ -960,8 +960,8 @@ ;; attributes on any of them, or both, pass anyway (unless (parser-generator-lr--conflict-can-be-resolved-by-attributes - (car a-follow-full) - (car b-suffix-follow-eff-item-full)) + a-follow-full + b-suffix-follow-eff-item-full) (when signal-on-false (error diff --git a/test/parser-generator-lr-test.el b/test/parser-generator-lr-test.el index a974a56..19c564b 100644 --- a/test/parser-generator-lr-test.el +++ b/test/parser-generator-lr-test.el @@ -534,6 +534,8 @@ (exp "^" exp (lambda(args) (expt (nth 0 args) (nth 2 args)))) ("(" exp ")" (lambda(args) (nth 1 args))))) start)) + + ;; Lex-analyzer (setq parser-generator-lex-analyzer--function (lambda (index) @@ -584,7 +586,15 @@ symbol)))))) (parser-generator-process-grammar) - (parser-generator-lr-generate-parser-tables) + + ;; TODO Should error here at GOTO-table generation + (should-error + (parser-generator-lr-generate-parser-tables)) + + ;; TODO Add global precedence and grammar should now pass + ;; TODO Refactor context-sensitive grammar to apply to entire rule instead of specific element + + (message "Generated parser") (let ((buffer (generate-new-buffer "*buffer*"))) (switch-to-buffer buffer)