emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/parser-generator 40907b7 257/434: white-space fixes


From: ELPA Syncer
Subject: [elpa] externals/parser-generator 40907b7 257/434: white-space fixes
Date: Mon, 29 Nov 2021 15:59:52 -0500 (EST)

branch: externals/parser-generator
commit 40907b7aed3c66bcf1b57cfc9f541f98fcbc3fda
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>

    white-space fixes
---
 parser-generator.el           | 69 ++++++++++++++++++++++++++++++++++---------
 test/parser-generator-test.el |  2 +-
 2 files changed, 56 insertions(+), 15 deletions(-)

diff --git a/parser-generator.el b/parser-generator.el
index bffb37b..62a9f3b 100644
--- a/parser-generator.el
+++ b/parser-generator.el
@@ -1272,7 +1272,9 @@
         (while stack
           (let ((stack-topmost (pop stack)))
             (parser-generator--debug
-             (message "stack-topmost: %s" stack-topmost))
+             (message
+              "stack-topmost: %s"
+              stack-topmost))
             (let ((input-tape-index (car stack-topmost))
                   (first-length (car (cdr stack-topmost)))
                   (first (car (cdr (cdr stack-topmost))))
@@ -1283,7 +1285,10 @@
                       (< first-length k))
                 (let ((symbol (nth input-tape-index input-tape)))
                   (parser-generator--debug
-                   (message "symbol index: %s from %s is: %s" input-tape-index 
input-tape symbol))
+                   (message
+                    "symbol index: %s from %s is: %s"
+                    input-tape-index
+                    input-tape symbol))
                   (cond
 
                    ((parser-generator--valid-e-p symbol)
@@ -1307,13 +1312,26 @@
                     (parser-generator--debug
                      (message "non-terminal symbol: %s" symbol))
                     (let ((symbol-f-set))
+
+                      ;; Load the pre-generated F-set
+                      ;; if it's the first symbol and we are using
+                      ;; E-FREE-FIRST then use separate hash-table
                       (if (and
                            disallow-e-first
                            (= first-length 0))
-                          (setq symbol-f-set (nth 1 (gethash symbol 
parser-generator--f-free-sets)))
-                        (setq symbol-f-set (nth 1 (gethash symbol 
parser-generator--f-sets))))
+                          (setq
+                           symbol-f-set
+                           (nth 1
+                                (gethash
+                                 symbol
+                                 parser-generator--f-free-sets)))
+                        (setq
+                         symbol-f-set
+                         (nth 1
+                              (gethash symbol parser-generator--f-sets))))
                       (parser-generator--debug
                        (message "symbol-f-set: %s" symbol-f-set))
+
                       (if (and
                            (not symbol-f-set)
                            disallow-e-first
@@ -1321,7 +1339,8 @@
                           (progn
                             (parser-generator--debug
                              (message
-                              "stopped looking since non-terminal starts with 
e-identifier: %s" symbol-f-set))
+                              "stopped looking since non-terminal starts with 
e-identifier: %s"
+                              symbol-f-set))
                             (setq keep-looking nil))
                           
                         ;; Handle this scenario here were a non-terminal can 
result in different FIRST sets
@@ -1335,14 +1354,27 @@
                                       (alternative-tape-index (1+ 
input-tape-index)))
                                   (parser-generator--debug
                                    (message "alternative-first: %s" 
alternative-first))
-                                  (push `(,alternative-tape-index 
,alternative-first-length ,alternative-first) stack)))
-                              (setq symbol-f-set-index (1+ 
symbol-f-set-index)))))
+                                  (push
+                                   `(
+                                     ,alternative-tape-index
+                                     ,alternative-first-length
+                                     ,alternative-first)
+                                   stack)))
+                              (setq
+                               symbol-f-set-index
+                               (1+ symbol-f-set-index)))))
 
                         (parser-generator--debug
                          (message "main-symbol-f-set: %s" (car symbol-f-set)))
-                        (setq first-length (+ first-length (length (car 
symbol-f-set))))
-                        (setq first (append first (car symbol-f-set))))))))
-                (setq input-tape-index (1+ input-tape-index)))
+                        (setq
+                         first-length
+                         (+ first-length (length (car symbol-f-set))))
+                        (setq
+                         first
+                         (append first (car symbol-f-set))))))))
+                (setq
+                 input-tape-index
+                 (1+ input-tape-index)))
               (when (> first-length 0)
 
                 ;; If length exceeds k, strip trailing symbols
@@ -1364,11 +1396,20 @@
                   ;; (message "first-after-fill: %s" first)
                   )
                 (parser-generator--debug
-                 (message "push to first-list: %s to %s" first first-list))
-                (push first first-list))))))
+                 (message
+                  "push to first-list: %s to %s"
+                  first
+                  first-list))
+                (push
+                 first
+                 first-list))))))
 
-      (setq first-list (parser-generator--distinct first-list))
-      (setq first-list (sort first-list 'parser-generator--sort-list))
+      (setq
+       first-list
+       (parser-generator--distinct first-list))
+      (setq
+       first-list
+       (sort first-list 'parser-generator--sort-list))
       first-list)))
 
 ;; Definition at p. 343
diff --git a/test/parser-generator-test.el b/test/parser-generator-test.el
index cdd5a0a..410b39a 100644
--- a/test/parser-generator-test.el
+++ b/test/parser-generator-test.el
@@ -790,8 +790,8 @@
   (parser-generator-test--valid-terminal-p)
 
   ;; Algorithms
-  (parser-generator-test--e-free-first)
   (parser-generator-test--first)
+  (parser-generator-test--e-free-first)
   (parser-generator-test--follow))
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]