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

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

[elpa] externals/parser-generator aad1a17 404/434: Removed unnecessary l


From: ELPA Syncer
Subject: [elpa] externals/parser-generator aad1a17 404/434: Removed unnecessary logic in LR(0) action-table generation
Date: Mon, 29 Nov 2021 16:00:25 -0500 (EST)

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

    Removed unnecessary logic in LR(0) action-table generation
---
 parser-generator-lr.el | 46 +++++++++++++++++++++++-----------------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/parser-generator-lr.el b/parser-generator-lr.el
index b1ca964..95b0422 100644
--- a/parser-generator-lr.el
+++ b/parser-generator-lr.el
@@ -494,31 +494,31 @@
                              0)
 
                             ;; LR(0) uses a different algorithm for 
determining reduce actions
-                            (unless (nth 2 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 ((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))
 
-                                  (parser-generator--debug
-                                   (message "production: %s (%s)" production 
production-number)
-                                   (message "u: %s" u))
-                                  (push
-                                   (list
-                                    nil
-                                    'reduce
-                                    production-number)
-                                   action-table)
-                                  (setq
-                                   found-action
-                                   t))))
+                                (parser-generator--debug
+                                 (message "production: %s (%s)" production 
production-number)
+                                 (message "u: %s" u))
+                                (push
+                                 (list
+                                  nil
+                                  'reduce
+                                  production-number)
+                                 action-table)
+                                (setq
+                                 found-action
+                                 t)))
 
+                          ;; LR(k > 0)
                           (when (parser-generator--valid-look-ahead-p u)
                             (let ((production (list A B)))
                               (let



reply via email to

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