branch: externals/phps-mode commit 569505e019b2b473421b32ee0c2ad30f7e654e69 Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Added parser header and fixed byte-compilation for parser --- admin/phps-mode-automation.el | 5 ++++- phps-mode-automation-grammar.el | 10 ++++++++++ phps-mode-parser.el | 3 +++ test/phps-mode-test-parser.el | 13 +++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/admin/phps-mode-automation.el b/admin/phps-mode-automation.el index 5aef02c..2c04dd6 100644 --- a/admin/phps-mode-automation.el +++ b/admin/phps-mode-automation.el @@ -176,7 +176,10 @@ ;; NOTE This does not work if functions above are byte-compiled ;; Export - (let ((export (parser-generator-lr-export-to-elisp "phps-mode-parser"))) + (let ((export + (parser-generator-lr-export-to-elisp + "phps-mode-parser" + phps-mode-automation-grammar--header))) (generate-new-buffer "*PHP Parser*") (switch-to-buffer "*PHP Parser*") (insert export) diff --git a/phps-mode-automation-grammar.el b/phps-mode-automation-grammar.el index 5f515ac..2e595ec 100644 --- a/phps-mode-automation-grammar.el +++ b/phps-mode-automation-grammar.el @@ -26,6 +26,11 @@ (require 'phps-mode-lexer) +(defvar + phps-mode-parser-lex-analyzer--function + nil + "Just placeholder to pass byte-compilation.") + (defconst phps-mode-automation-grammar--context-sensitive-attributes '(%prec) @@ -1434,6 +1439,11 @@ "The productions of grammar.") (defconst + phps-mode-automation-grammar--header + "(require 'phps-mode-lexer)\n(require 'semantic)\n(require 'semantic/lex)\n" + "Header contents for parser.") + +(defconst phps-mode-automation-grammar--start 'start "The entry-point of grammar.") diff --git a/phps-mode-parser.el b/phps-mode-parser.el index 66adf7e..b8a9192 100644 --- a/phps-mode-parser.el +++ b/phps-mode-parser.el @@ -6,6 +6,9 @@ ;;; Code: +(require 'phps-mode-lexer) +(require 'semantic) +(require 'semantic/lex) ;;; Constants: diff --git a/test/phps-mode-test-parser.el b/test/phps-mode-test-parser.el index 7db67aa..57b853d 100644 --- a/test/phps-mode-test-parser.el +++ b/test/phps-mode-test-parser.el @@ -160,4 +160,17 @@ (provide 'phps-mode-test-parser) +;; TODO +;; phps-mode-parser.el:65:167: Warning: reference to free variable +;; ‘phps-mode-lexer--generated-new-tokens-index’ +;; phps-mode-parser.el:65:322: Warning: reference to free variable +;; ‘phps-mode-lexer--generated-new-tokens’ +;; phps-mode-parser.el:65:406: Warning: reference to free variable +;; ‘semantic-lex-end-point’ + +;; In end of data: +;; phps-mode-parser.el:65:271: Warning: the function ‘phps-mode-lexer--re2c’ is +;; not known to be defined. + + ;;; phps-mode-test-parser.el ends here