branch: externals/parser-generator commit c8c130ed3a9321c066179b40a73acaff41aae7cb Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Improved error messages --- parser-generator-lr.el | 13 ++++--------- test/parser-generator-lr-test.el | 2 -- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/parser-generator-lr.el b/parser-generator-lr.el index f95b2f2..fd336ed 100644 --- a/parser-generator-lr.el +++ b/parser-generator-lr.el @@ -756,11 +756,10 @@ (error (format - "Invalid syntax! Expected one of %s found %s at index %s, push-down-list: %s" + "Invalid syntax! Expected one of %s found %s at %s" possible-look-aheads look-ahead - parser-generator-lex-analyzer--index - pushdown-list) + parser-generator-lex-analyzer--index) possible-look-aheads look-ahead parser-generator-lex-analyzer--index)) @@ -814,9 +813,9 @@ (unless next-index (error - "In shift, found no goto-item for %s in index %s, expected one of %s" + "In shift, found no GOTO-item for %s at %s, expected one of %s" a - table-index + parser-generator-lex-analyzer--index possible-look-aheads)) ;; Maybe push both tokens here? @@ -836,7 +835,6 @@ (let ((production-number (car (cdr action-match)))) - ;; TODO Remove need of this (let ((production (parser-generator--get-grammar-production-by-number production-number))) @@ -866,8 +864,6 @@ (setq popped-items (1+ popped-items))))) (push production-number output) - ;; TODO Remove dependency of hash-table for productions here - ;; Perform translation at reduction if specified (when (parser-generator--get-grammar-translation-by-number @@ -901,7 +897,6 @@ popped-items-meta-contents (nreverse popped-items-meta-contents)) - ;; TODO Remove dependency of hash-table of translations here (let ((partial-translation (funcall (parser-generator--get-grammar-translation-by-number diff --git a/test/parser-generator-lr-test.el b/test/parser-generator-lr-test.el index c0bfc87..56bc835 100644 --- a/test/parser-generator-lr-test.el +++ b/test/parser-generator-lr-test.el @@ -89,8 +89,6 @@ table-lr-items))) (message "Passed LR-items")) - ;; TODO Make this work with improved FIRST-functions - ;; Fig. 5.9 p. 374 (should (equal