branch: externals/phps-mode commit f56ba64ad4856fe6f0295e444da119b9a52b1799 Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Terminals, non-terminals and start is automatically generated from YACC --- Makefile | 4 ---- phps-mode-automation-parser-generator.el | 13 +++++++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index f94a48a..7207e62 100644 --- a/Makefile +++ b/Makefile @@ -15,10 +15,6 @@ parser: clean generate-parser generate-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 -eval "(progn (require 'parser-generator-lr-export)(setq debug-on-signal t)(setq debug-on-error t)(phps-mode-automation))" -.PHONY: generate-grammar-parser -generate-grammar-parser: - $(EMACS_CMD) -L ~/.emacs.d/emacs-parser-generator/ -l admin/phps-mode-grammar-parser-generator.el -eval "(phps-mode-grammar-parser-generator)" - .PHONY: compile compile: find . -name "*.el" -exec $(EMACS_CMD) -f batch-byte-compile {} \; diff --git a/phps-mode-automation-parser-generator.el b/phps-mode-automation-parser-generator.el index 582c22b..570cf60 100644 --- a/phps-mode-automation-parser-generator.el +++ b/phps-mode-automation-parser-generator.el @@ -214,10 +214,10 @@ (lambda(args) ;; Store distinct symbols (unless (gethash - (format "%S" (substring args 1 2)) + (format "%s" (substring args 1 2)) phps-mode-automation-parser-generator--symbols) (puthash - (format "%S" (substring args 1 2)) + (format "%s" (substring args 1 2)) t phps-mode-automation-parser-generator--symbols)) @@ -390,9 +390,14 @@ (push k phps-mode-automation-parser-generator--non-terminals) - (push + ;; Skip context-sensitive precedence and e-identifier + (when + (or + (stringp k) + (not (string-match-p "%" (symbol-name k)))) + (push k - phps-mode-automation-parser-generator--terminals))) + phps-mode-automation-parser-generator--terminals)))) phps-mode-automation-parser-generator--symbols) (list