diff options
Diffstat (limited to 'lisp/cedet/semantic/wisent/grammar.el')
-rw-r--r-- | lisp/cedet/semantic/wisent/grammar.el | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/lisp/cedet/semantic/wisent/grammar.el b/lisp/cedet/semantic/wisent/grammar.el index cfd4899186b..c5e4554082e 100644 --- a/lisp/cedet/semantic/wisent/grammar.el +++ b/lisp/cedet/semantic/wisent/grammar.el @@ -1,4 +1,4 @@ -;;; semantic/wisent/grammar.el --- Wisent's input grammar mode +;;; semantic/wisent/grammar.el --- Wisent's input grammar mode -*- lexical-binding: t; -*- ;; Copyright (C) 2002-2021 Free Software Foundation, Inc. ;; @@ -198,10 +198,10 @@ See also the function `wisent-skip-token'." (defun wisent-grammar-assocs () "Return associativity and precedence level definitions." (mapcar - #'(lambda (tag) - (cons (intern (semantic-tag-name tag)) - (mapcar #'semantic-grammar-item-value - (semantic-tag-get-attribute tag :value)))) + (lambda (tag) + (cons (intern (semantic-tag-name tag)) + (mapcar #'semantic-grammar-item-value + (semantic-tag-get-attribute tag :value)))) (semantic-find-tags-by-class 'assoc (current-buffer)))) (defun wisent-grammar-terminals () @@ -209,14 +209,14 @@ See also the function `wisent-skip-token'." Keep order of declaration in the WY file without duplicates." (let (terms) (mapc - #'(lambda (tag) - (mapcar #'(lambda (name) - (add-to-list 'terms (intern name))) - (cons (semantic-tag-name tag) - (semantic-tag-get-attribute tag :rest)))) + (lambda (tag) + (mapcar (lambda (name) + (add-to-list 'terms (intern name))) + (cons (semantic-tag-name tag) + (semantic-tag-get-attribute tag :rest)))) (semantic--find-tags-by-function - #'(lambda (tag) - (memq (semantic-tag-class tag) '(token keyword))) + (lambda (tag) + (memq (semantic-tag-class tag) '(token keyword))) (current-buffer))) (nreverse terms))) @@ -228,7 +228,7 @@ Keep order of declaration in the WY file without duplicates." Return the expanded expression." (if (or (atom expr) (semantic-grammar-quote-p (car expr))) expr ;; Just return atom or quoted expression. - (let* ((expr (mapcar 'wisent-grammar-expand-macros expr)) + (let* ((expr (mapcar #'wisent-grammar-expand-macros expr)) (macro (assq (car expr) wisent--grammar-macros))) (if macro ;; Expand Semantic built-in. (apply (cdr macro) (cdr expr)) @@ -286,12 +286,9 @@ Return the expanded expression." (defun wisent-grammar-parsetable-builder () "Return the value of the parser table." - `(progn - ;; Ensure that the grammar [byte-]compiler is available. - (eval-when-compile (require 'semantic/wisent/comp)) - (wisent-compile-grammar - ',(wisent-grammar-grammar) - ',(semantic-grammar-start)))) + `(wisent-compiled-grammar + ,(wisent-grammar-grammar) + ,(semantic-grammar-start))) (defun wisent-grammar-setupcode-builder () "Return the parser setup code." @@ -305,7 +302,7 @@ Return the expanded expression." semantic-lex-types-obarray %s)\n\ ;; Collect unmatched syntax lexical tokens\n\ (add-hook 'wisent-discarding-token-functions\n\ - 'wisent-collect-unmatched-syntax nil t)" + #'wisent-collect-unmatched-syntax nil t)" (semantic-grammar-parsetable) (buffer-name) (semantic-grammar-keywordtable) @@ -325,6 +322,7 @@ Menu items are appended to the common grammar menu.") (define-derived-mode wisent-grammar-mode semantic-grammar-mode "WY" "Major mode for editing Wisent grammars." (semantic-grammar-setup-menu wisent-grammar-menu) + (setq-local semantic-grammar-require-form '(require 'semantic/wisent)) (semantic-install-function-overrides '((semantic-grammar-parsetable-builder . wisent-grammar-parsetable-builder) (semantic-grammar-setupcode-builder . wisent-grammar-setupcode-builder)))) @@ -479,7 +477,7 @@ Menu items are appended to the common grammar menu.") (condition-case err (with-current-buffer (find-file-noselect infile) (if outdir (setq default-directory outdir)) - (semantic-grammar-create-package nil t)) + (semantic-grammar-create-package t t)) (error (message "%s" (error-message-string err)) nil))) output-data) (when (setq output-data (assoc packagename wisent-make-parsers--parser-file-name)) @@ -514,7 +512,8 @@ Menu items are appended to the common grammar menu.") (goto-char (point-min)) (delete-region (point-min) (line-end-position)) (insert ";;; " packagename - " --- Generated parser support file") + " --- Generated parser support file " + "-*- lexical-binding:t -*-") (re-search-forward ";;; \\(.*\\) ends here") (replace-match packagename nil nil nil 1) (delete-trailing-whitespace)))))) |