Variable: semantic-lex-number-expression

semantic-lex-number-expression is a buffer-local variable defined in lex.el.gz.

Documentation

Regular expression for matching a number.

If this value is nil, no number extraction is done during lex. This expression tries to match C and Java like numbers.

DECIMAL_LITERAL:
    [1-9][0-9]*
  ;
HEX_LITERAL:
    0[xX][[:xdigit:]]+
  ;
OCTAL_LITERAL:
    0[0-7]*
  ;
INTEGER_LITERAL:
    <DECIMAL_LITERAL>[lL]?
  | <HEX_LITERAL>[lL]?
  | <OCTAL_LITERAL>[lL]?
  ;
EXPONENT:
    [eE][+-]?[09]+
  ;
FLOATING_POINT_LITERAL:
    [0-9]+[.][0-9]*<EXPONENT>?[fFdD]?
  | [.][0-9]+<EXPONENT>?[fFdD]?
  | [0-9]+<EXPONENT>[fFdD]?
  | [0-9]+<EXPONENT>?[fFdD]
  ;

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/lex.el.gz
(defvar-local semantic-lex-number-expression
  ;; This expression was written by David Ponce for Java, and copied
  ;; here for C and any other similar language.
  (concat "\\("
          "\\<[0-9]+[.][0-9]+\\([eE][-+]?[0-9]+\\)?[fFdD]?\\>"
          "\\|"
          "\\<[0-9]+[.][eE][-+]?[0-9]+[fFdD]?\\>"
          "\\|"
          "\\<[0-9]+[.][fFdD]\\>"
          "\\|"
          "\\<[0-9]+[.]"
          "\\|"
          "[.][0-9]+\\([eE][-+]?[0-9]+\\)?[fFdD]?\\>"
          "\\|"
          "\\<[0-9]+[eE][-+]?[0-9]+[fFdD]?\\>"
          "\\|"
          "\\<0[xX][[:xdigit:]]+[lL]?\\>"
          "\\|"
          "\\<[0-9]+[lLfFdD]?\\>"
          "\\)"
          )
  "Regular expression for matching a number.
If this value is nil, no number extraction is done during lex.
This expression tries to match C and Java like numbers.

DECIMAL_LITERAL:
    [1-9][0-9]*
  ;
HEX_LITERAL:
    0[xX][[:xdigit:]]+
  ;
OCTAL_LITERAL:
    0[0-7]*
  ;
INTEGER_LITERAL:
    <DECIMAL_LITERAL>[lL]?
  | <HEX_LITERAL>[lL]?
  | <OCTAL_LITERAL>[lL]?
  ;
EXPONENT:
    [eE][+-]?[09]+
  ;
FLOATING_POINT_LITERAL:
    [0-9]+[.][0-9]*<EXPONENT>?[fFdD]?
  | [.][0-9]+<EXPONENT>?[fFdD]?
  | [0-9]+<EXPONENT>[fFdD]?
  | [0-9]+<EXPONENT>?[fFdD]
  ;")