branch: externals/parser-generator commit d604092c9d0f8bb6c9e6462ef4d4d0e2a1d3a3ba Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Added failing unit test for e-free-first function --- test/parser-generator-lr-test.el | 11 +++++++++++ test/parser-generator-test.el | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/test/parser-generator-lr-test.el b/test/parser-generator-lr-test.el index 4aeeb64..ab2254b 100644 --- a/test/parser-generator-lr-test.el +++ b/test/parser-generator-lr-test.el @@ -429,6 +429,17 @@ (message "Passed GOTO-tables k = 2") ;; TODO Validate lr-items here + + ;; ( + ;; (((S) nil (S a S b) (a e)) ((S) nil (S a S b) (a a)) ((S) nil (S a S b) (e e)) ((S) nil nil (a e)) ((S) nil nil (a a)) ((S) nil nil (e e)) ((Sp) nil (S) (e e))) + ;; (((S) (S) (a S b) (a a)) ((S) (S) (a S b) (a e)) ((S) (S) (a S b) (e e)) ((Sp) (S) nil (e e))) + ;; (((S) (S a) (S b) (a e)) ((S) (S a) (S b) (a a)) ((S) (S a) (S b) (e e)) ((S) nil (S a S b) (a e)) ((S) nil (S a S b) (a a)) ((S) nil (S a S b) (b e)) ((S) nil nil (a e)) ((S) nil nil (a a)) ((S) nil nil (b e))) + ;; (((S) (S) (a S b) (a a)) ((S) (S) (a S b) (a e)) ((S) (S) (a S b) (b e)) ((S) (S a S) (b) (a a)) ((S) (S a S) (b) (a e)) ((S) (S a S) (b) (e e))) + ;; (((S) (S a S b) nil (a e)) ((S) (S a S b) nil (a a)) ((S) (S a S b) nil (e e))) + ;; (((S) (S a) (S b) (a e)) ((S) (S a) (S b) (a a)) ((S) (S a) (S b) (b e)) ((S) nil (S a S b) (a e)) ((S) nil (S a S b) (a a)) ((S) nil (S a S b) (b e)) ((S) nil nil (a e)) ((S) nil nil (a a)) ((S) nil nil (b e))) + ;; (((S) (S) (a S b) (a a)) ((S) (S) (a S b) (a e)) ((S) (S) (a S b) (b e)) ((S) (S a S) (b) (a a)) ((S) (S a S) (b) (a e)) ((S) (S a S) (b) (b e))) + ;; (((S) (S a S b) nil (a e)) ((S) (S a S b) nil (a a)) ((S) (S a S b) nil (b e))) + ;; ) ;; (should ;; (equal diff --git a/test/parser-generator-test.el b/test/parser-generator-test.el index ec4f729..bbf49cd 100644 --- a/test/parser-generator-test.el +++ b/test/parser-generator-test.el @@ -444,6 +444,11 @@ '((a a) (a e)) (parser-generator--e-free-first '(a S)))) (message "Passed empty-free-first 2 with trailing e-identifier 2") + (should + (equal + '((a a) (a b)) + (parser-generator--e-free-first '(a S b)))) + (message "Passed empty-free-first 2 with trailing e-identifier 1") (message "Passed tests for (parser-generator--empty-free-first)"))