]> git.eshelyaron.com Git - emacs.git/commitdiff
* * lisp/cedet/semantic: Use lexical-binding in the generated grammars
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 6 Mar 2021 04:33:21 +0000 (23:33 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 6 Mar 2021 04:33:21 +0000 (23:33 -0500)
* admin/grammars/c.by (typesimple): Bind `semantic-c-classname` dynamically.

* lisp/cedet/semantic/bovine.el: Use lexical-binding.
(semantic-lambda): Silence warnings if the `vals` arg is not used.

* lisp/cedet/semantic/grammar-wy.el: Re-generate.

* lisp/cedet/semantic/bovine/grammar.el: Use lexical-binding.
(bovine-grammar-expand-action): Silence warnings if some of the
`vals`, `start`, or `end` args is not used.
(bovine--make-parser-1): Use lexical-binding in the generated files.

* lisp/cedet/semantic/wisent/grammar.el: Use lexical-binding.
(wisent--make-parser-1): Use lexical-binding in the generated files.

admin/grammars/c.by
lisp/cedet/ede/custom.el
lisp/cedet/semantic/bovine.el
lisp/cedet/semantic/bovine/grammar.el
lisp/cedet/semantic/grammar-wy.el
lisp/cedet/semantic/wisent/grammar.el
lisp/cus-start.el

index 2d04c999aca499f82480c5297bad51be741ad76e..289081e3ceda0322365ac90b1a2f56681cc344c6 100644 (file)
@@ -415,7 +415,7 @@ typesimple
   : struct-or-class opt-class opt-name opt-template-specifier
     opt-class-parents semantic-list
     (TYPE-TAG (car $3) (car $1)
-          (let ((semantic-c-classname (cons (car ,$3) (car ,$1))))
+          (dlet ((semantic-c-classname (cons (car ,$3) (car ,$1))))
             (EXPANDFULL $6 classsubparts))
           $5
           :template-specifier $4
index aada872cd0aaa7ca6dd9ebdfac4c5a5eb8712714..a128f9e1241bcb4d32ddabd5365a47387a6e13d5 100644 (file)
@@ -53,7 +53,7 @@
     (setq-local eieio-ede-old-variables ov)))
 
 ;;;###autoload
-(defalias 'customize-project 'ede-customize-project)
+(defalias 'customize-project #'ede-customize-project)
 
 ;;;###autoload
 (defun ede-customize-current-target()
@@ -65,7 +65,7 @@
   (ede-customize-target ede-object))
 
 ;;;###autoload
-(defalias 'customize-target 'ede-customize-current-target)
+(defalias 'customize-target #'ede-customize-current-target)
 
 (defun ede-customize-target (obj)
   "Edit fields of the current target through EIEIO & Custom.
index 65d7868588e1d144e53d8869c4214ad155de6459..b585e387fedca966729c40211da7ac920c1a9f4e 100644 (file)
@@ -1,4 +1,4 @@
-;;; semantic/bovine.el --- LL Parser/Analyzer core.
+;;; semantic/bovine.el --- LL Parser/Analyzer core  -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 1999-2004, 2006-2007, 2009-2021 Free Software
 ;; Foundation, Inc.
@@ -54,6 +54,7 @@ Use this to detect infinite recursion during a parse.")
   "Create a lambda expression to return a list including RETURN-VAL.
 The return list is a lambda expression to be used in a bovine table."
   `(lambda (vals start end)
+     (ignore vals)
      (append ,@return-val (list start end))))
 
 ;;; Semantic Bovination
index 4914ec9b124721e77bf1b1e68cad5293bbb0466a..e3df7b12ab6d475d541c6b734fd252238386125a 100644 (file)
@@ -1,4 +1,4 @@
-;;; semantic/bovine/grammar.el --- Bovine's input grammar mode
+;;; semantic/bovine/grammar.el --- Bovine's input grammar mode  -*- lexical-binding: t; -*-
 ;;
 ;; Copyright (C) 2002-2021 Free Software Foundation, Inc.
 ;;
@@ -243,7 +243,8 @@ QUOTEMODE is the mode in which quoted symbols are slurred."
       (insert "\n")
       (cond
        ((eq (car sexp) 'EXPAND)
-        (insert ",(lambda (vals start end)")
+        (insert ",(lambda (vals start end)"
+                "\n(ignore vals start end)")
         ;; The EXPAND macro definition is mandatory
         (bovine-grammar-expand-form
          (apply (cdr (assq 'EXPAND bovine--grammar-macros)) (cdr sexp))
@@ -520,7 +521,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 -*-")
        (delete-trailing-whitespace)
        (re-search-forward ";;; \\(.*\\) ends here")
        (replace-match packagename nil nil nil 1)))))
index 12c9c047fc59051a588a61ac8c771bbf36395634..9a7f393072f68cc9bdb77a991299b7864ed41e5e 100644 (file)
@@ -1,6 +1,6 @@
-;;; semantic/grammar-wy.el --- Generated parser support file
+;;; semantic/grammar-wy.el --- Generated parser support file  -*- lexical-binding:t -*-
 
-;; Copyright (C) 2002-2004, 2009-2021 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2021 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
@@ -23,8 +23,9 @@
 
 ;;; Code:
 
-(require 'semantic)
-
+(require 'semantic/lex)
+(eval-when-compile (require 'semantic/bovine))
+\f
 ;;; Prologue
 ;;
 (defvar semantic-grammar-lex-c-char-re)
 \f
 ;;; Declarations
 ;;
+(eval-and-compile (defconst semantic-grammar-wy--expected-conflicts
+                    nil
+                    "The number of expected shift/reduce conflicts in this grammar."))
+
 (defconst semantic-grammar-wy--keyword-table
   (semantic-lex-make-keyword-table
    '(("%default-prec" . DEFAULT-PREC)
      ("%no-default-prec" . NO-DEFAULT-PREC)
      ("%keyword" . KEYWORD)
-     ("%expectedconflicts" . EXPECTEDCONFLICTS)
      ("%languagemode" . LANGUAGEMODE)
      ("%left" . LEFT)
      ("%nonassoc" . NONASSOC)
      ("%package" . PACKAGE)
+     ("%expectedconflicts" . EXPECTEDCONFLICTS)
      ("%provide" . PROVIDE)
      ("%prec" . PREC)
      ("%put" . PUT)
     (eval-when-compile
       (require 'semantic/wisent/comp))
     (wisent-compile-grammar
-     '((DEFAULT-PREC NO-DEFAULT-PREC KEYWORD LANGUAGEMODE EXPECTEDCONFLICTS LEFT NONASSOC PACKAGE PROVIDE PREC PUT QUOTEMODE RIGHT SCOPESTART START TOKEN TYPE USE-MACROS STRING SYMBOL PERCENT_PERCENT CHARACTER PREFIXED_LIST SEXP PROLOGUE EPILOGUE PAREN_BLOCK BRACE_BLOCK LPAREN RPAREN LBRACE RBRACE COLON SEMI OR LT GT)
+     '((DEFAULT-PREC NO-DEFAULT-PREC KEYWORD LANGUAGEMODE LEFT NONASSOC PACKAGE EXPECTEDCONFLICTS PROVIDE PREC PUT QUOTEMODE RIGHT SCOPESTART START TOKEN TYPE USE-MACROS STRING SYMBOL PERCENT_PERCENT CHARACTER PREFIXED_LIST SEXP PROLOGUE EPILOGUE PAREN_BLOCK BRACE_BLOCK LPAREN RPAREN LBRACE RBRACE COLON SEMI OR LT GT)
        nil
        (grammar
-       ((prologue))
-       ((epilogue))
-       ((declaration))
-       ((nonterminal))
-       ((PERCENT_PERCENT)))
+        ((prologue))
+        ((epilogue))
+        ((declaration))
+        ((nonterminal))
+        ((PERCENT_PERCENT)))
        (prologue
-       ((PROLOGUE)
-        (wisent-raw-tag
+        ((PROLOGUE)
+         (wisent-raw-tag
          (semantic-tag-new-code "prologue" nil))))
        (epilogue
-       ((EPILOGUE)
-        (wisent-raw-tag
+        ((EPILOGUE)
+         (wisent-raw-tag
          (semantic-tag-new-code "epilogue" nil))))
        (declaration
-       ((decl)
-        (eval $1)))
+        ((decl)
+         (eval $1)))
        (decl
-       ((default_prec_decl))
-       ((no_default_prec_decl))
-       ((languagemode_decl))
-       ((expectedconflicts_decl))
-       ((package_decl))
-       ((provide_decl))
-       ((precedence_decl))
-       ((put_decl))
-       ((quotemode_decl))
-       ((scopestart_decl))
-       ((start_decl))
-       ((keyword_decl))
-       ((token_decl))
-       ((type_decl))
-       ((use_macros_decl)))
+        ((default_prec_decl))
+        ((no_default_prec_decl))
+        ((languagemode_decl))
+        ((package_decl))
+        ((expectedconflicts_decl))
+        ((provide_decl))
+        ((precedence_decl))
+        ((put_decl))
+        ((quotemode_decl))
+        ((scopestart_decl))
+        ((start_decl))
+        ((keyword_decl))
+        ((token_decl))
+        ((type_decl))
+        ((use_macros_decl)))
        (default_prec_decl
-        ((DEFAULT-PREC)
+         ((DEFAULT-PREC)
          `(wisent-raw-tag
            (semantic-tag "default-prec" 'assoc :value
                          '("t")))))
        (no_default_prec_decl
-       ((NO-DEFAULT-PREC)
-        `(wisent-raw-tag
+        ((NO-DEFAULT-PREC)
+         `(wisent-raw-tag
           (semantic-tag "default-prec" 'assoc :value
-                        '("nil")))))
+                        '("nil")))))
        (languagemode_decl
-       ((LANGUAGEMODE symbols)
-        `(wisent-raw-tag
-          (semantic-tag ',(car $2)
-                        'languagemode :rest ',(cdr $2)))))
-       (expectedconflicts_decl
-       ((EXPECTEDCONFLICTS symbols)
-        `(wisent-raw-tag
+        ((LANGUAGEMODE symbols)
+         `(wisent-raw-tag
           (semantic-tag ',(car $2)
-                        'expectedconflicts :rest ',(cdr $2)))))
+                        'languagemode :rest ',(cdr $2)))))
        (package_decl
-       ((PACKAGE SYMBOL)
-        `(wisent-raw-tag
+        ((PACKAGE SYMBOL)
+         `(wisent-raw-tag
           (semantic-tag-new-package ',$2 nil))))
+       (expectedconflicts_decl
+        ((EXPECTEDCONFLICTS symbols)
+         `(wisent-raw-tag
+          (semantic-tag ',(car $2)
+                        'expectedconflicts :rest ',(cdr $2)))))
        (provide_decl
-       ((PROVIDE SYMBOL)
-        `(wisent-raw-tag
+        ((PROVIDE SYMBOL)
+         `(wisent-raw-tag
           (semantic-tag ',$2 'provide))))
        (precedence_decl
-       ((associativity token_type_opt items)
-        `(wisent-raw-tag
+        ((associativity token_type_opt items)
+         `(wisent-raw-tag
           (semantic-tag ',$1 'assoc :type ',$2 :value ',$3))))
        (associativity
-       ((LEFT)
-        (progn "left"))
-       ((RIGHT)
-        (progn "right"))
-       ((NONASSOC)
-        (progn "nonassoc")))
+        ((LEFT)
+         (progn "left"))
+        ((RIGHT)
+         (progn "right"))
+        ((NONASSOC)
+         (progn "nonassoc")))
        (put_decl
-       ((PUT put_name put_value)
-        `(wisent-raw-tag
+        ((PUT put_name put_value)
+         `(wisent-raw-tag
           (semantic-tag ',$2 'put :value ',(list $3))))
-       ((PUT put_name put_value_list)
-        `(wisent-raw-tag
+        ((PUT put_name put_value_list)
+         `(wisent-raw-tag
           (semantic-tag ',$2 'put :value ',$3)))
-       ((PUT put_name_list put_value)
-        `(wisent-raw-tag
+        ((PUT put_name_list put_value)
+         `(wisent-raw-tag
           (semantic-tag ',(car $2)
-                        'put :rest ',(cdr $2)
-                        :value ',(list $3))))
-       ((PUT put_name_list put_value_list)
-        `(wisent-raw-tag
+                        'put :rest ',(cdr $2)
+                        :value ',(list $3))))
+        ((PUT put_name_list put_value_list)
+         `(wisent-raw-tag
           (semantic-tag ',(car $2)
-                        'put :rest ',(cdr $2)
-                        :value ',$3))))
+                        'put :rest ',(cdr $2)
+                        :value ',$3))))
        (put_name_list
-       ((BRACE_BLOCK)
-        (mapcar 'semantic-tag-name
-                (semantic-parse-region
+        ((BRACE_BLOCK)
+         (mapcar 'semantic-tag-name
+                (semantic-parse-region
                  (car $region1)
                  (cdr $region1)
                  'put_names 1))))
        (put_names
-       ((LBRACE)
-        nil)
-       ((RBRACE)
-        nil)
-       ((put_name)
-        (wisent-raw-tag
+        ((LBRACE)
+         nil)
+        ((RBRACE)
+         nil)
+        ((put_name)
+         (wisent-raw-tag
          (semantic-tag $1 'put-name))))
        (put_name
-       ((SYMBOL))
-       ((token_type)))
+        ((SYMBOL))
+        ((token_type)))
        (put_value_list
-       ((BRACE_BLOCK)
-        (mapcar 'semantic-tag-code-detail
-                (semantic-parse-region
+        ((BRACE_BLOCK)
+         (mapcar 'semantic-tag-code-detail
+                (semantic-parse-region
                  (car $region1)
                  (cdr $region1)
                  'put_values 1))))
        (put_values
-       ((LBRACE)
-        nil)
-       ((RBRACE)
-        nil)
-       ((put_value)
-        (wisent-raw-tag
+        ((LBRACE)
+         nil)
+        ((RBRACE)
+         nil)
+        ((put_value)
+         (wisent-raw-tag
          (semantic-tag-new-code "put-value" $1))))
        (put_value
-       ((SYMBOL any_value)
-        (cons $1 $2)))
+        ((SYMBOL any_value)
+         (cons $1 $2)))
        (scopestart_decl
-       ((SCOPESTART SYMBOL)
-        `(wisent-raw-tag
+        ((SCOPESTART SYMBOL)
+         `(wisent-raw-tag
           (semantic-tag ',$2 'scopestart))))
        (quotemode_decl
-       ((QUOTEMODE SYMBOL)
-        `(wisent-raw-tag
+        ((QUOTEMODE SYMBOL)
+         `(wisent-raw-tag
           (semantic-tag ',$2 'quotemode))))
        (start_decl
-       ((START symbols)
-        `(wisent-raw-tag
+        ((START symbols)
+         `(wisent-raw-tag
           (semantic-tag ',(car $2)
-                        'start :rest ',(cdr $2)))))
+                        'start :rest ',(cdr $2)))))
        (keyword_decl
-       ((KEYWORD SYMBOL string_value)
-        `(wisent-raw-tag
+        ((KEYWORD SYMBOL string_value)
+         `(wisent-raw-tag
           (semantic-tag ',$2 'keyword :value ',$3))))
        (token_decl
-       ((TOKEN token_type_opt SYMBOL string_value)
-        `(wisent-raw-tag
+        ((TOKEN token_type_opt SYMBOL string_value)
+         `(wisent-raw-tag
           (semantic-tag ',$3 ',(if $2 'token 'keyword)
-                        :type ',$2 :value ',$4)))
-       ((TOKEN token_type_opt symbols)
-        `(wisent-raw-tag
+                        :type ',$2 :value ',$4)))
+        ((TOKEN token_type_opt symbols)
+         `(wisent-raw-tag
           (semantic-tag ',(car $3)
-                        'token :type ',$2 :rest ',(cdr $3)))))
+                        'token :type ',$2 :rest ',(cdr $3)))))
        (token_type_opt
-       (nil)
-       ((token_type)))
+        (nil)
+        ((token_type)))
        (token_type
-       ((LT SYMBOL GT)
-        (progn $2)))
+        ((LT SYMBOL GT)
+         (progn $2)))
        (type_decl
-       ((TYPE token_type plist_opt)
-        `(wisent-raw-tag
+        ((TYPE token_type plist_opt)
+         `(wisent-raw-tag
           (semantic-tag ',$2 'type :value ',$3))))
        (plist_opt
-       (nil)
-       ((plist)))
+        (nil)
+        ((plist)))
        (plist
-       ((plist put_value)
-        (append
+        ((plist put_value)
+         (append
          (list $2)
          $1))
-       ((put_value)
-        (list $1)))
+        ((put_value)
+         (list $1)))
        (use_name_list
-       ((BRACE_BLOCK)
-        (mapcar 'semantic-tag-name
-                (semantic-parse-region
+        ((BRACE_BLOCK)
+         (mapcar 'semantic-tag-name
+                (semantic-parse-region
                  (car $region1)
                  (cdr $region1)
                  'use_names 1))))
        (use_names
-       ((LBRACE)
-        nil)
-       ((RBRACE)
-        nil)
-       ((SYMBOL)
-        (wisent-raw-tag
+        ((LBRACE)
+         nil)
+        ((RBRACE)
+         nil)
+        ((SYMBOL)
+         (wisent-raw-tag
          (semantic-tag $1 'use-name))))
        (use_macros_decl
-       ((USE-MACROS SYMBOL use_name_list)
-        `(wisent-raw-tag
+        ((USE-MACROS SYMBOL use_name_list)
+         `(wisent-raw-tag
           (semantic-tag "macro" 'macro :type ',$2 :value ',$3))))
        (string_value
-       ((STRING)
-        (read $1)))
+        ((STRING)
+         (read $1)))
        (any_value
-       ((SYMBOL))
-       ((STRING))
-       ((PAREN_BLOCK))
-       ((PREFIXED_LIST))
-       ((SEXP)))
+        ((SYMBOL))
+        ((STRING))
+        ((PAREN_BLOCK))
+        ((PREFIXED_LIST))
+        ((SEXP)))
        (symbols
-       ((lifo_symbols)
-        (nreverse $1)))
+        ((lifo_symbols)
+         (nreverse $1)))
        (lifo_symbols
-       ((lifo_symbols SYMBOL)
-        (cons $2 $1))
-       ((SYMBOL)
-        (list $1)))
+        ((lifo_symbols SYMBOL)
+         (cons $2 $1))
+        ((SYMBOL)
+         (list $1)))
        (nonterminal
-       ((SYMBOL
+        ((SYMBOL
          (setq semantic-grammar-wy--nterm $1 semantic-grammar-wy--rindx 0)
          COLON rules SEMI)
-        (wisent-raw-tag
+         (wisent-raw-tag
          (semantic-tag $1 'nonterminal :children $4))))
        (rules
-       ((lifo_rules)
-        (apply 'nconc
-               (nreverse $1))))
+        ((lifo_rules)
+         (apply 'nconc
+               (nreverse $1))))
        (lifo_rules
-       ((lifo_rules OR rule)
-        (cons $3 $1))
-       ((rule)
-        (list $1)))
+        ((lifo_rules OR rule)
+         (cons $3 $1))
+        ((rule)
+         (list $1)))
        (rule
-       ((rhs)
-        (let*
+        ((rhs)
+         (let*
             ((nterm semantic-grammar-wy--nterm)
              (rindx semantic-grammar-wy--rindx)
              (rhs $1)
              comps prec action elt)
           (setq semantic-grammar-wy--rindx
-                (1+ semantic-grammar-wy--rindx))
+                (1+ semantic-grammar-wy--rindx))
           (while rhs
             (setq elt
                   (car rhs)
               (if
                   (or action comps)
                   (setq comps
-                        (cons elt comps)
-                        semantic-grammar-wy--rindx
-                        (1+ semantic-grammar-wy--rindx))
-                (setq action
+                        (cons elt comps)
+                        semantic-grammar-wy--rindx
+                        (1+ semantic-grammar-wy--rindx))
+                (setq action
                       (car elt))))
              (t
               (setq comps
              (if comps "group" "empty")
              :value comps :prec prec :expr action))))))
        (rhs
-       (nil)
-       ((rhs item)
-        (cons $2 $1))
-       ((rhs action)
-        (cons
+        (nil)
+        ((rhs item)
+         (cons $2 $1))
+        ((rhs action)
+         (cons
          (list $2)
          $1))
-       ((rhs PREC item)
-        (cons
+        ((rhs PREC item)
+         (cons
          (vector $3)
          $1)))
        (action
-       ((PAREN_BLOCK))
-       ((PREFIXED_LIST))
-       ((BRACE_BLOCK)
-        (format "(progn\n%s)"
-                (let
+        ((PAREN_BLOCK))
+        ((PREFIXED_LIST))
+        ((BRACE_BLOCK)
+         (format "(progn\n%s)"
+                (let
                     ((s $1))
                   (if
-                      (string-match "^{[\r\n\t ]*" s)
+                      (string-match "^{[\r\n     ]*" s)
                       (setq s
                             (substring s
-                                       (match-end 0))))
+                                       (match-end 0))))
                   (if
-                      (string-match "[\r\n\t ]*}$" s)
+                      (string-match "[\r\n       ]*}$" s)
                       (setq s
                             (substring s 0
-                                       (match-beginning 0))))
+                                       (match-beginning 0))))
                   s))))
        (items
-       ((lifo_items)
-        (nreverse $1)))
+        ((lifo_items)
+         (nreverse $1)))
        (lifo_items
-       ((lifo_items item)
-        (cons $2 $1))
-       ((item)
-        (list $1)))
+        ((lifo_items item)
+         (cons $2 $1))
+        ((item)
+         (list $1)))
        (item
-       ((SYMBOL))
-       ((CHARACTER))))
+        ((SYMBOL))
+        ((CHARACTER))))
      '(grammar prologue epilogue declaration nonterminal rule put_names put_values use_names)))
   "Parser table.")
 
   (semantic-install-function-overrides
    '((semantic-parse-stream . wisent-parse-stream)))
   (setq semantic-parser-name "LALR"
-       semantic--parse-table semantic-grammar-wy--parse-table
-       semantic-debug-parser-source "grammar.wy"
-       semantic-flex-keywords-obarray semantic-grammar-wy--keyword-table
-       semantic-lex-types-obarray semantic-grammar-wy--token-table)
+        semantic--parse-table semantic-grammar-wy--parse-table
+        semantic-debug-parser-source "grammar.wy"
+        semantic-flex-keywords-obarray semantic-grammar-wy--keyword-table
+        semantic-lex-types-obarray semantic-grammar-wy--token-table)
   ;; Collect unmatched syntax lexical tokens
   (add-hook 'wisent-discarding-token-functions
-           'wisent-collect-unmatched-syntax nil t))
+            'wisent-collect-unmatched-syntax nil t))
 
 \f
 ;;; Analyzers
 ;;
-(define-lex-block-type-analyzer semantic-grammar-wy--<block>-block-analyzer
-  "block analyzer for <block> tokens."
-  "\\s(\\|\\s)"
-  '((("(" LPAREN PAREN_BLOCK)
-     ("{" LBRACE BRACE_BLOCK))
-    (")" RPAREN)
-    ("}" RBRACE))
-  )
+(define-lex-regex-type-analyzer semantic-grammar-wy--<symbol>-regexp-analyzer
+  "regexp analyzer for <symbol> tokens."
+  ":?\\(\\sw\\|\\s_\\)+"
+  '((PERCENT_PERCENT . "\\`%%\\'"))
+  'SYMBOL)
+
+(define-lex-keyword-type-analyzer semantic-grammar-wy--<keyword>-keyword-analyzer
+  "keyword analyzer for <keyword> tokens."
+  "\\(\\sw\\|\\s_\\)+")
 
 (define-lex-regex-type-analyzer semantic-grammar-wy--<char>-regexp-analyzer
   "regexp analyzer for <char> tokens."
   nil
   'CHARACTER)
 
-(define-lex-regex-type-analyzer semantic-grammar-wy--<symbol>-regexp-analyzer
-  "regexp analyzer for <symbol> tokens."
-  ":?\\(\\sw\\|\\s_\\)+"
-  '((PERCENT_PERCENT . "\\`%%\\'"))
-  'SYMBOL)
-
 (define-lex-sexp-type-analyzer semantic-grammar-wy--<qlist>-sexp-analyzer
   "sexp analyzer for <qlist> tokens."
   "\\s'\\s-*("
   'PREFIXED_LIST)
 
-(define-lex-sexp-type-analyzer semantic-grammar-wy--<string>-sexp-analyzer
-  "sexp analyzer for <string> tokens."
-  "\\s\""
-  'STRING)
+(define-lex-block-type-analyzer semantic-grammar-wy--<block>-block-analyzer
+  "block analyzer for <block> tokens."
+  "\\s(\\|\\s)"
+  '((("(" LPAREN PAREN_BLOCK)
+     ("{" LBRACE BRACE_BLOCK))
+    (")" RPAREN)
+    ("}" RBRACE))
+  )
 
 (define-lex-string-type-analyzer semantic-grammar-wy--<punctuation>-string-analyzer
   "string analyzer for <punctuation> tokens."
     (COLON . ":"))
   'punctuation)
 
-(define-lex-keyword-type-analyzer semantic-grammar-wy--<keyword>-keyword-analyzer
-  "keyword analyzer for <keyword> tokens."
-  "\\(\\sw\\|\\s_\\)+")
+(define-lex-sexp-type-analyzer semantic-grammar-wy--<string>-sexp-analyzer
+  "sexp analyzer for <string> tokens."
+  "\\s\""
+  'STRING)
 
 (define-lex-sexp-type-analyzer semantic-grammar-wy--<sexp>-sexp-analyzer
   "sexp analyzer for <sexp> tokens."
 
 (provide 'semantic/grammar-wy)
 
+;; Local Variables:
+;; version-control: never
+;; no-update-autoloads: t
+;; End:
+
 ;;; semantic/grammar-wy.el ends here
index cfd4899186bd3fc4491de5d2544f5034e49dfdea..edc5c5c7029af140d134719da6ed95c3c8be9f22 100644 (file)
@@ -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.
 ;;
@@ -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))
@@ -514,7 +514,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))))))
index 7b05f5796a46fd47578df19820a976a883a06845..b7afef6516d9fb601667667573592c18c2678395 100644 (file)
@@ -36,7 +36,7 @@
 (defun minibuffer-prompt-properties--setter (symbol value)
   (set-default symbol value)
   (if (memq 'cursor-intangible value)
-      (add-hook 'minibuffer-setup-hook 'cursor-intangible-mode)
+      (add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)
     ;; Removing it is a bit trickier since it could have been added by someone
     ;; else as well, so let's just not bother.
     ))