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

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

[elpa] externals/parser-generator 236a124 322/434: More work on resolvin


From: ELPA Syncer
Subject: [elpa] externals/parser-generator 236a124 322/434: More work on resolving conflicts
Date: Mon, 29 Nov 2021 16:00:07 -0500 (EST)

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

    More work on resolving conflicts
---
 parser-generator-lr.el | 68 +++++++++++++++++++++++++-------------------------
 1 file changed, 34 insertions(+), 34 deletions(-)

diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index 8741f4e..09bc215 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -114,7 +114,8 @@
                 goto-index
                 table-lr-items)))
           (let ((lr-items-length
-                 (length lr-items)))
+                 (length lr-items))
+                (index-symbols))
 
             ;; Where u is in (T U e)*k
             (dolist (state states)
@@ -168,8 +169,7 @@
                                       (parser-generator--debug
                                        (message
                                         "eff-item: %s"
-                                        eff-item
-                                        ))
+                                        eff-item))
                                       (if
                                           (parser-generator--valid-look-ahead-p
                                            eff-item)
@@ -183,21 +183,18 @@
                                             (parser-generator--debug
                                              (message
                                               "Valid look-ahead: %s"
-                                              eff-item
-                                              ))
+                                              eff-item))
                                             (if (gethash
                                                  hash-key
                                                  added-actions)
                                                 (parser-generator--debug
                                                  (message
                                                   "Duplicate action: %s"
-                                                  hash-key
-                                                  ))
+                                                  hash-key))
                                               (parser-generator--debug
                                                (message
                                                 "New action: %s"
-                                                hash-key
-                                                ))
+                                                hash-key))
                                               (puthash
                                                hash-key
                                                t
@@ -276,33 +273,36 @@
                                   (push
                                    (list nil 'reduce production-number)
                                    action-table)
-                                  (setq found-action t))))
+                                  (setq
+                                   found-action
+                                   t))))
 
                           (when (parser-generator--valid-look-ahead-p u)
-                            (let ((hash-key
-                                   (format
-                                    "%s-%s-%S"
-                                    goto-index
-                                    state
-                                    u)))
-                              (unless
-                                  (gethash
-                                   hash-key
-                                   added-actions)
-                                (puthash
-                                 hash-key
-                                 t
-                                 added-actions)
-                                (let ((production (list A B)))
-                                  (let
-                                      ((production-number
-                                        
(parser-generator--get-grammar-production-number
-                                         production)))
-                                    (unless production-number
-                                      (error
-                                       "Expecting production number for %s 
from LR-item %s!"
-                                       production
-                                       lr-item))
+                            (let ((production (list A B)))
+                              (let
+                                  ((production-number
+                                    
(parser-generator--get-grammar-production-number
+                                     production)))
+                                (unless production-number
+                                  (error
+                                   "Expecting production number for %s from 
LR-item %s!"
+                                   production
+                                   lr-item))
+                                (let ((hash-key
+                                       (format
+                                        "%s-%s-%S-%s"
+                                        goto-index
+                                        state
+                                        u
+                                        production-number)))
+                                  (unless
+                                      (gethash
+                                       hash-key
+                                       added-actions)
+                                    (puthash
+                                     hash-key
+                                     t
+                                     added-actions)
 
                                     (parser-generator--debug
                                      (message "production: %s (%s)" production 
production-number)



reply via email to

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