From fe3dac5464e086cbb39d128f4119391bbffbc9f3 Mon Sep 17 00:00:00 2001
From: David Walter Seikel
Date: Thu, 12 Jan 2012 23:46:08 +1000
Subject: Add a hex integer format, and comment about variations for float.

---
 LuaSL/src/LuaSL_lexer.l | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/LuaSL/src/LuaSL_lexer.l b/LuaSL/src/LuaSL_lexer.l
index 93df410..2b60634 100644
--- a/LuaSL/src/LuaSL_lexer.l
+++ b/LuaSL/src/LuaSL_lexer.l
@@ -16,9 +16,12 @@ int common(YYSTYPE *lval, char *text, LuaSL_yyparseExtra *extra, boolean checkIg
 %option extra-type="LuaSL_yyparseExtra *"
 
 HEX         [[:xdigit:]]
-INTEGER     [[:digit:]]+
-EXPONANT    [eE][+-]?{INTEGER}
-FLOAT       {INTEGER}("."{INTEGER})?{EXPONANT}?
+DECIMAL     [[:digit:]]
+ /* LSL has no octal integer type. */
+INTEGER     ({DECIMAL}+)|(0[xX]{HEX}+)
+EXPONANT    [eE][+-]?{DECIMAL}
+ /* Floats can be "0." but I don't think ".0" is valid. */
+FLOAT       {DECIMAL}("."{DECIMAL})?{EXPONANT}?[fF]?
 CHAR        '(\\.|[^\\'\n])+'
 STRING      \"(\\.|[^\\"\n])*\"
 IDENTIFIER  [[:alpha:]](_|[[:alpha:]]|[[:digit:]])*
-- 
cgit v1.1