branch: externals/parser-generator
commit bd4e56d341146b943b2e5522e9cb1f4c2161a35a
Author: Christian Johansson <christ...@cvj.se>
Commit: Christian Johansson <christ...@cvj.se>

    Fixed state-based lexer with move operations with new state
---
 .gitignore                              |  3 ++-
 parser-generator-lex-analyzer.el        |  2 +-
 parser-generator-ll-export.el           |  2 +-
 parser-generator-lr-export.el           | 12 ++++++++----
 test/parser-generator-ll-export-test.el |  2 ++
 test/parser-generator-lr-export-test.el |  2 ++
 6 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/.gitignore b/.gitignore
index 668f3550cc..663c8278b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@
 .dir-locals.el
 flycheck_*
 .tern-port
-*.elc
\ No newline at end of file
+*.elc
+test-*.el*
\ No newline at end of file
diff --git a/parser-generator-lex-analyzer.el b/parser-generator-lex-analyzer.el
index b68106cacd..8d217f4366 100644
--- a/parser-generator-lex-analyzer.el
+++ b/parser-generator-lex-analyzer.el
@@ -234,7 +234,7 @@
                                   first-token
                                   nil
                                   first-token-end
-                                  nil)
+                                  new-state)
                                  
parser-generator-lex-analyzer--buffered-response)
                                 (setq
                                  token-start
diff --git a/parser-generator-ll-export.el b/parser-generator-ll-export.el
index 160acf9d9f..46bf890628 100644
--- a/parser-generator-ll-export.el
+++ b/parser-generator-ll-export.el
@@ -384,7 +384,7 @@
                                   first-token
                                   nil
                                   first-token-end
-                                  nil)
+                                  new-state)
                                  %s-lex-analyzer--buffered-response)
                                 (setq
                                  token-start
diff --git a/parser-generator-lr-export.el b/parser-generator-lr-export.el
index 7529d70dc7..7007c46b29 100644
--- a/parser-generator-lr-export.el
+++ b/parser-generator-lr-export.el
@@ -405,7 +405,7 @@
                                   first-token
                                   nil
                                   first-token-end
-                                  nil)
+                                  new-state)
                                  %s-lex-analyzer--buffered-response)
                                 (setq
                                  token-start
@@ -564,7 +564,9 @@
     translation
     translation-symbol-table-list
     history)
-  \"Perform a LR-parse via lex-analyzer, optionally PERFORM-SDT means to 
perform syntax-directed translation and optioanlly start at INPUT-TAPE-INDEX 
with PUSHDOWN-LIST, OUTPUT, TRANSLATION, TRANSLATION-SYMBOL-TABLE-LIST and 
HISTORY.\"
+  \"Perform a LR-parse via lex-analyzer, optionally PERFORM-SDT means to 
perform
+  syntax-directed translation and optioanlly start at INPUT-TAPE-INDEX with
+  PUSHDOWN-LIST, OUTPUT, TRANSLATION, TRANSLATION-SYMBOL-TABLE-LIST and 
HISTORY.\"
   (unless input-tape-index
     (setq input-tape-index 1))
   (unless pushdown-list
@@ -1021,7 +1023,8 @@
      output
      translation
      history)
-  \"Perform a LR-parse via lex-analyzer, optionally at INPUT-TAPE-INDEX with 
PUSHDOWN-LIST, OUTPUT, TRANSLATION and HISTORY.\"
+  \"Perform a LR-parse via lex-analyzer, optionally at INPUT-TAPE-INDEX with
+  PUSHDOWN-LIST, OUTPUT, TRANSLATION and HISTORY.\"
   (let ((result
          (%s--parse
           nil
@@ -1044,7 +1047,8 @@
      output
      translation
      history)
-  \"Perform a LR-parse via lex-analyzer, optionally at INPUT-TAPE-INDEX with 
PUSHDOWN-LIST, OUTPUT, TRANSLATION and HISTORY.\"
+  \"Perform a LR-parse via lex-analyzer, optionally at INPUT-TAPE-INDEX with
+  PUSHDOWN-LIST, OUTPUT, TRANSLATION and HISTORY.\"
   (let ((result
          (%s--parse
           t
diff --git a/test/parser-generator-ll-export-test.el 
b/test/parser-generator-ll-export-test.el
index 0b13937deb..8eb8fcd338 100644
--- a/test/parser-generator-ll-export-test.el
+++ b/test/parser-generator-ll-export-test.el
@@ -60,6 +60,7 @@
   (let ((export (parser-generator-ll-export-to-elisp "ba")))
     (with-temp-buffer
       (insert export)
+      (write-file "test-ll-2-exported-parser.el")
       (eval-buffer)
       (should
        (equal
@@ -152,6 +153,7 @@
   (let ((export (parser-generator-ll-export-to-elisp "ba3")))
     (with-temp-buffer
       (insert export)
+      (write-file "test-ll-1-exported-parser.el")
       (eval-buffer)
       (should
        (equal
diff --git a/test/parser-generator-lr-export-test.el 
b/test/parser-generator-lr-export-test.el
index eb35f2bc46..13549667b4 100644
--- a/test/parser-generator-lr-export-test.el
+++ b/test/parser-generator-lr-export-test.el
@@ -263,6 +263,7 @@
         (parser-generator--debug
          (message "export:\n%S\n" export))
         (insert export)
+        (write-file "test-lr-1-exported-parser.el")
         (eval-buffer)
         (should
          (equal
@@ -333,6 +334,7 @@
 
     (with-temp-buffer
       (insert export)
+      (write-file "test-lr-0-exported-parser.el")
       (eval-buffer)
       (should
        (equal

Reply via email to