branch: externals/parser-generator commit 099304ef950e2603471d403c792a2211d2d27123 Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Some coding-styling fixes --- parser-generator.el | 59 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 15 deletions(-) diff --git a/parser-generator.el b/parser-generator.el index 7df2a6e..ad5c190 100644 --- a/parser-generator.el +++ b/parser-generator.el @@ -821,11 +821,15 @@ (not expanded-all-second)) ;; Make one iteration after everything has been expanded (when expanded-all - (setq expanded-all-second t)) + (setq + expanded-all-second + t)) (when (> i 1000) (error "Endless loop!")) (parser-generator--debug (message "i = %s" i)) - (setq expanded-all t) + (setq + expanded-all + t) (let ((f-set (make-hash-table :test 'equal))) ;; Iterate all productions, set F_i @@ -863,9 +867,15 @@ (unless (nth 0 f-set-return) (parser-generator--debug - (message "rhs-expanded-full flagged negative")) - (setq rhs-expanded-full nil) - (setq expanded-all nil)) + (message + "Expanded-all negative set because f-set-return '%s' is not fully expanded" + f-set-return)) + (setq + rhs-expanded-full + nil) + (setq + expanded-all + nil)) (setq rhs-leading-terminals (nth 1 f-set-return)) @@ -880,7 +890,8 @@ rhs-leading-terminals)) (parser-generator--debug (message - "expanded-all: %s" expanded-all)) + "expanded-all: %s" + expanded-all)) (when rhs-leading-terminals (when (and @@ -907,8 +918,16 @@ ;; If another set has not been fully expanded ;; mark LHS as not fully expanded (unless (nth 0 existing-f-set) - (setq expanded-all nil) - (setq rhs-expanded-full nil)) + (parser-generator--debug + (message + "Expanded-all negative set because a sub-set '%s' is not fully expanded" + existing-f-set)) + (setq + expanded-all + nil) + (setq + rhs-expanded-full + nil)) (setq f-p-set (append @@ -1118,8 +1137,10 @@ (not (equal lhs (list rhs-element)))) (parser-generator--debug (message - "Expanded-all negative set 1 from %s" rhs-element)) - (setq expanded-all nil)) + "Expanded-all negative set because sub-terminals of '%s' has not been fully expanded" rhs-element)) + (setq + expanded-all + nil)) (if sub-terminal-sets (progn @@ -1284,9 +1305,13 @@ (parser-generator--debug (message - "Expanded-all negative set 2")) - (setq expanded-all nil) - (setq all-leading-terminals-p nil))) + "Expanded-all negative set because symbol '%s' is a non-terminal and i is zero" rhs-element)) + (setq + expanded-all + nil) + (setq + all-leading-terminals-p + nil))) ((equal rhs-type 'E-IDENTIFIER) (if disallow-e-first @@ -1334,8 +1359,12 @@ (setq leading-terminals (list leading-terminals))) (parser-generator--debug (message "leading-terminals 5: %s" leading-terminals)) - (push leading-terminals f-set)))))) - (list expanded-all f-set))) + (push + leading-terminals + f-set)))))) + (list + expanded-all + f-set))) ;; Algorithm 5.5, p. 357 (defun parser-generator--first (β &optional disallow-e-first)