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

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

[elpa] externals/parser-generator 552c0c5 304/434: Using better hash-key


From: ELPA Syncer
Subject: [elpa] externals/parser-generator 552c0c5 304/434: Using better hash-key for goto-tables generation
Date: Mon, 29 Nov 2021 16:00:03 -0500 (EST)

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

    Using better hash-key for goto-tables generation
---
 parser-generator-lr.el | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index 6e0eaed..e02a1bb 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -53,7 +53,9 @@
             (found-action nil)
             (action-table))
         (let ((lr-items
-               (gethash goto-index table-lr-items)))
+               (gethash
+                goto-index
+                table-lr-items)))
           (let ((lr-items-length (length lr-items)))
 
             ;; Where u is in (T U e)*k
@@ -109,13 +111,15 @@
                                            eff-item)
                                           (let
                                               ((hash-key
-                                                (format "%s-%s-%s" goto-index 
state eff-item)))
+                                                (format "%s-%s-%S" goto-index 
state eff-item)))
                                             (parser-generator--debug
                                              (message
                                               "Valid look-ahead: %s"
                                               eff-item
                                               ))
-                                            (if (gethash hash-key 
added-actions)
+                                            (if (gethash
+                                                 hash-key
+                                                 added-actions)
                                                 (parser-generator--debug
                                                  (message
                                                   "Duplicate action: %s"
@@ -197,9 +201,14 @@
 
                           (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)
+                                   (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
@@ -385,7 +394,7 @@
               (when prefix-lr-items
                 (let ((prefix-lr-items-hash-key
                        (format
-                        "%s"
+                        "%S"
                         prefix-lr-items)))
 
                   (parser-generator--debug



reply via email to

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