Function: define-lex-spp-macro-undeclaration-analyzer
define-lex-spp-macro-undeclaration-analyzer is a macro defined in
lex-spp.el.gz.
Signature
(define-lex-spp-macro-undeclaration-analyzer NAME DOC REGEXP TOKIDX)
Documentation
Undefine a lexical analyzer for defining new MACROS.
NAME is the name of the analyzer.
DOC is the documentation for the analyzer.
REGEXP is a regular expression for the analyzer to match.
See define-lex-regex-analyzer for more on regexp.
TOKIDX is an index into REGEXP for which a new lexical token
of type spp-macro-undef is to be created.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/lex-spp.el.gz
(defmacro define-lex-spp-macro-undeclaration-analyzer (name doc regexp tokidx)
"Undefine a lexical analyzer for defining new MACROS.
NAME is the name of the analyzer.
DOC is the documentation for the analyzer.
REGEXP is a regular expression for the analyzer to match.
See `define-lex-regex-analyzer' for more on regexp.
TOKIDX is an index into REGEXP for which a new lexical token
of type `spp-macro-undef' is to be created."
(declare (debug (&define name stringp stringp form)))
(let ((start (make-symbol "start"))
(end (make-symbol "end")))
`(define-lex-regex-analyzer ,name
,doc
,regexp
(let ((,start (match-beginning ,tokidx))
(,end (match-end ,tokidx))
)
(semantic-lex-spp-symbol-remove
(buffer-substring-no-properties ,start ,end))
(semantic-lex-push-token
(semantic-lex-token 'spp-macro-undef
,start ,end))
))))