branch: externals/parser-generator commit 653b8edece0b9d56235b2f9f73a1ddb07b103e60 Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Added failing test for generate-f-sets --- parser-generator.el | 2 +- test/parser-generator-test.el | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/parser-generator.el b/parser-generator.el index 63df0175b2..a1ae0b8114 100644 --- a/parser-generator.el +++ b/parser-generator.el @@ -1370,7 +1370,7 @@ (setq rhs-type 'E-IDENTIFIER)) ((parser-generator--valid-terminal-p rhs-element) (setq rhs-type 'TERMINAL)) - (t (error (format "Invalid symbol %s" rhs-element)))) + (t (error (format "Invalid symbol %s!" rhs-element)))) (parser-generator--debug (message "rhs-type: %s" diff --git a/test/parser-generator-test.el b/test/parser-generator-test.el index da65f4cf02..5713e0b557 100644 --- a/test/parser-generator-test.el +++ b/test/parser-generator-test.el @@ -191,6 +191,24 @@ (message "Passed tests for (parser-generator--follow)")) +(defun parser-generator-test--generate-f-sets () + "Test `parser-generator--first'." + (message "Starting tests for (parser-generator-test--generate-f-sets)") + + (parser-generator-set-e-identifier 'e) + (parser-generator-set-grammar '((Sp S) (a b) ((Sp S) (S (S a S b)) (S e)) Sp)) + (parser-generator-set-look-ahead-number 1) + (parser-generator-process-grammar) + (parser-generator--generate-f-sets) + (should + (equal + '(t ((e a))) + (gethash + (list 'S) + parser-generator--f-sets))) + + (message "Passed tests for (parser-generator-test--generate-f-sets)")) + (defun parser-generator-test--first () "Test `parser-generator--first'." (message "Starting tests for (parser-generator--first)") @@ -1056,6 +1074,7 @@ (parser-generator-test--valid-production-p) (parser-generator-test--valid-sentential-form-p) (parser-generator-test--valid-terminal-p) + (parser-generator-test--generate-f-sets) ;; Algorithms (parser-generator-test--first)