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

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

[elpa] externals/parser-generator a65b652 307/434: Added TODO-items


From: ELPA Syncer
Subject: [elpa] externals/parser-generator a65b652 307/434: Added TODO-items
Date: Mon, 29 Nov 2021 16:00:04 -0500 (EST)

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

    Added TODO-items
---
 parser-generator-lr.el | 33 +++++++++++++++++++++++----------
 1 file changed, 23 insertions(+), 10 deletions(-)

diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index 037b077..9a4168c 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -86,7 +86,8 @@
                           (when Cv
                             (let
                                 ((eff
-                                  (parser-generator--e-free-first Cv)))
+                                  (parser-generator--e-free-first
+                                   Cv)))
                               (parser-generator--debug
                                (message
                                 "E-FREE-FIRST %s = %s"
@@ -312,7 +313,8 @@
       (setq
        lr-item-set-new-index
        (1+ lr-item-set-new-index))
-      (let ((e-set-hash-key (format "%s" e-set)))
+      (let ((e-set-hash-key
+             (format "%S" e-set)))
         ;; Mark the initial set
         (puthash
          e-set-hash-key
@@ -576,7 +578,8 @@
                (append b-suffix b-follow))
               (setq
                b-suffix-follow-eff
-               (parser-generator--e-free-first b-suffix-follow))
+               (parser-generator--e-free-first
+                b-suffix-follow))
 
               (parser-generator--debug
                (message "b-suffix: %s" b-suffix)
@@ -796,12 +799,15 @@
 (defun parser-generator-lr--items-for-goto (previous-lr-item x)
   "Calculate LR-items for GOTO(PREVIOUS-LR-ITEM, X)."
   (let ((lr-new-item)
-        (lr-item-exists (make-hash-table :test 'equal))
-        (eof-list (parser-generator--generate-list-of-symbol
-                   parser-generator--look-ahead-number
-                   parser-generator--eof-identifier)))
+        (lr-item-exists
+         (make-hash-table :test 'equal))
+        (eof-list
+         (parser-generator--generate-list-of-symbol
+          parser-generator--look-ahead-number
+          parser-generator--eof-identifier)))
     (parser-generator--debug (message "x: %s" x))
 
+    ;; TODO Use caches to optimize this loop
     (dolist (lr-item previous-lr-item)
       (let ((lr-item-lhs (nth 0 lr-item))
             (lr-item-prefix (nth 1 lr-item))
@@ -836,7 +842,10 @@
                   lr-item-prefix
                   (list x))))
             (let ((lr-new-item-1))
-              (if (= parser-generator--look-ahead-number 0)
+              (if
+                  (=
+                   parser-generator--look-ahead-number
+                   0)
                   ;; Only k >= 1 needs dot look-ahead
                   (progn
                     (setq
@@ -863,6 +872,8 @@
       (let ((added-new t))
         (while added-new
           (setq added-new nil)
+
+          ;; TODO Use caches to optimize this loop
           (dolist (lr-item lr-new-item)
             (let ((lr-item-suffix (nth 2 lr-item)))
               (let ((lr-item-suffix-first
@@ -928,7 +939,9 @@
                                  `(,(list lr-item-suffix-first) nil ,sub-rhs 
,f)))
                             ;; Only k >= 1 needs dot a look-ahead
                             (when
-                                (= parser-generator--look-ahead-number 0)
+                                (=
+                                 parser-generator--look-ahead-number
+                                 0)
                               (setq
                                lr-item-to-add
                                `(,(list lr-item-suffix-first) nil ,sub-rhs)))
@@ -958,7 +971,7 @@
        lr-new-item
        (sort
         lr-new-item
-        'parser-generator--sort-list))) ;; TODO Optimize this
+        'parser-generator--sort-list))) ;; TODO Optimize this?
 
     lr-new-item))
 



reply via email to

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