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

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

[elpa] externals/phps-mode 924fb345ec 06/15: Minor tweaks in parser gene


From: Christian Johansson
Subject: [elpa] externals/phps-mode 924fb345ec 06/15: Minor tweaks in parser generation automation
Date: Sat, 26 Feb 2022 02:06:35 -0500 (EST)

branch: externals/phps-mode
commit 924fb345ec2c973b9a15b7a7011c45a115d311f0
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>

    Minor tweaks in parser generation automation
---
 Makefile                      |  7 ++-----
 admin/phps-mode-automation.el | 42 +++++++++++++++++++++++++++---------------
 2 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/Makefile b/Makefile
index a1b068a775..6a7b376b34 100644
--- a/Makefile
+++ b/Makefile
@@ -9,11 +9,8 @@ clean:
        find . -name "*.elc" -exec rm -f {} \;
 
 .PHONY: parser
-parser: clean generate-parser
-
-.PHONY: generate-parser
-generate-parser: 
-       $(EMACS_CMD) -L ~/.emacs.d/emacs-parser-generator/ -l 
phps-mode-lexer.el -l admin/phps-mode-automation.el -eval "(progn (require 
'parser-generator-lr-export)(setq debug-on-signal t)(setq debug-on-error 
t)(phps-mode-automation))"
+parser:
+       rm phps-mode-automation-grammar.elc; $(EMACS_CMD) -L 
~/.emacs.d/emacs-parser-generator/ -l phps-mode-lexer.el -l 
admin/phps-mode-automation.el -l resume.el -eval "(progn (require 
'parser-generator-lr-export)(setq debug-on-signal t)(setq debug-on-error 
t)(phps-mode-automation))"
 
 .PHONY: compile
 compile:
diff --git a/admin/phps-mode-automation.el b/admin/phps-mode-automation.el
index 44b2afd769..a95cb0f0bb 100644
--- a/admin/phps-mode-automation.el
+++ b/admin/phps-mode-automation.el
@@ -1,4 +1,4 @@
-;;; phps-mode-automation --- Generate a Wisent Parser file -*- 
lexical-binding: t -*-
+;;; phps-mode-automation --- Generate a parser file -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2018-2022  Free Software Foundation, Inc.
 
@@ -7,13 +7,12 @@
 
 ;;; Uses a parser-generator library to convert LALR(1) YACC grammar into a 
Canonical LR(1) Parser
 
-;; This does not work if some variables are byte-compiled
-;; therefore we delete byte-compiled files in `make parser' command
+;; This does not work if some variables are byte-compiled therefore we delete 
byte-compiled files in `make parser' command
 
 ;; To resume use command: `make parser &> output.txt'
 ;; and to extract Emacs-Lisp data to separate file run `cat output.txt | grep 
-F "-resume" - > resume.el'
 ;; and then to resume parser-generation run
-;; `rm phps-mode-automation-grammar.elc; emacs -Q -batch -L . -L 
~/.emacs.d/emacs-parser-generator -l phps-mode-lexer.el -l 
admin/phps-mode-automation.el -eval "(progn (require 
'parser-generator-lr)(require 'parser-generator-lr-export))" -l resume.el -eval 
"(phps-mode-automation)"'
+;; `rm phps-mode-automation-grammar.elc; emacs -Q -batch -L . -L 
~/.emacs.d/emacs-parser-generator -l phps-mode-lexer.el -l 
admin/phps-mode-automation.el -eval "(progn (require 
'parser-generator-lr)(require 'parser-generator-lr-export))"  -eval 
"(phps-mode-automation)"'
 
 
 ;;; Code:
@@ -32,10 +31,14 @@
          gc-cons-threshold
          (* 1024 1024 256))
 
-        (let* ((global-declaration 
(phps-mode-automation-parser-generator--global-declaration))
-               (attributes phps-mode-automation-parser-generator--attributes)
-               (grammar (phps-mode-automation-parser-generator--grammar))
-               (context-sensitive-attributes 
phps-mode-automation-parser-generator--context-sensitive-attributes))
+        (let* ((global-declaration
+                (phps-mode-automation-parser-generator--global-declaration))
+               (attributes
+                phps-mode-automation-parser-generator--attributes)
+               (grammar
+                (phps-mode-automation-parser-generator--grammar))
+               (context-sensitive-attributes
+                
phps-mode-automation-parser-generator--context-sensitive-attributes))
 
           (message ";; Generated Grammar:\n%S" grammar)
 
@@ -48,19 +51,25 @@
             (setq
              parser-generator--context-sensitive-attributes
              context-sensitive-attributes)
-            (message "(setq parser-generator--context-sensitive-attributes 
%S)" parser-generator--context-sensitive-attributes))
+            (message
+             "(setq parser-generator--context-sensitive-attributes %S)"
+             parser-generator--context-sensitive-attributes))
 
           (when (boundp 
'parser-generator-lr--context-sensitive-precedence-attribute)
             (setq
              parser-generator-lr--context-sensitive-precedence-attribute
              (car context-sensitive-attributes))
-            (message "(setq 
parser-generator-lr--context-sensitive-precedence-attribute %S)" 
parser-generator-lr--context-sensitive-precedence-attribute))
+            (message
+             "(setq 
parser-generator-lr--context-sensitive-precedence-attribute %S)"
+             parser-generator-lr--context-sensitive-precedence-attribute))
 
           (when (boundp 'parser-generator--global-declaration)
             (setq
              parser-generator--global-declaration
              global-declaration)
-            (message "(setq parser-generator--global-declaration %S)" 
parser-generator--global-declaration))
+            (message
+             "(setq parser-generator--global-declaration %S)"
+             parser-generator--global-declaration))
 
           (when (boundp 'parser-generator--global-attributes)
             (setq
@@ -71,7 +80,9 @@
             (setq
              parser-generator-lr--global-precedence-attributes
              attributes)
-            (message "(setq parser-generator-lr--global-precedence-attributes 
%S)" parser-generator-lr--global-precedence-attributes)))
+            (message
+             "(setq parser-generator-lr--global-precedence-attributes %S)"
+             parser-generator-lr--global-precedence-attributes)))
 
         (when (fboundp 'parser-generator-set-look-ahead-number)
           (parser-generator-set-look-ahead-number
@@ -189,6 +200,7 @@
                       (message
                        "(setq 
parser-generator-lr--distinct-action-tables-resume %S)"
                        parser-generator-lr--distinct-action-tables))))))))
+        (message "\n")
 
         ;; Export
         (let ((export
@@ -200,9 +212,9 @@
           (generate-new-buffer "*PHP Parser*")
           (switch-to-buffer "*PHP Parser*")
           (insert export)
-          (write-file parser-file-name)
-          (kill-buffer)
-          (message ";; export: %s" export))
+          (message ";; export: %s" export)
+          (write-file parser-file-name) ;; NOTE Will cause Debugger 
entered--Lisp error: (void-variable vc-logentry-check-hook)
+          (kill-buffer))
 
         (message ";; Automation completed"))
     (error "Emacs parser generator must be available!")))



reply via email to

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