branch: externals/phps-mode commit 5f820bd0734b17abd985ccaced43fe60ae488c83 Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Improved documentation about grammar generation --- Makefile | 4 ++++ admin/phps-mode-automation.el | 8 +++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 6a7b376b34..42914abbc5 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,10 @@ clean: .PHONY: parser 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: parser-resumed +parser-resumed: 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 diff --git a/admin/phps-mode-automation.el b/admin/phps-mode-automation.el index c2acc1fedc..7a5c05d9dc 100644 --- a/admin/phps-mode-automation.el +++ b/admin/phps-mode-automation.el @@ -7,12 +7,10 @@ ;;; 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 &> output.txt' command, follow progress with `tail -f output.txt' -;; 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))" -eval "(phps-mode-automation)"' +;; If generation fails for some reason, to extract Emacs-Lisp data to a separate file run `cat output.txt | grep -F "-resume" - > resume.el' +;; and then to resume use command: `make parser-resumed &> output.txt' ;;; Code: