The unified diff between revisions [c2301346..] and [43bb367e..] is displayed below. It can also be downloaded as a raw diff.

This diff has been restricted to the following files: 'src/lsc/lexer.l'

#
# old_revision [c2301346be8a3f197425575f91b4910582a22a62]
# new_revision [43bb367e69d2a944206fd7f641ce73111e4bb780]
#
# patch "src/lsc/lexer.l"
#  from [d53fa70f337e95617b535a04f1a6bfa60b4326a2]
#    to [88be4de3325822fc6a95e81cc8c615a6c70078bf]
#
============================================================
--- src/lsc/lexer.l	d53fa70f337e95617b535a04f1a6bfa60b4326a2
+++ src/lsc/lexer.l	88be4de3325822fc6a95e81cc8c615a6c70078bf
@@ -105,6 +105,10 @@ return		return TOKRETURN;
 
 [0-9]+          yylval.Tinteger = atoi(yytext); return NUMBER;
 -[0-9]+         yylval.Tinteger = atoi(yytext); return NUMBER;
+		/* Cater for the possibility that things might be signed or
+		   unsigned. This is horrible and ugly, but might just work. */
+0x[0-9a-fA-F]+        yylval.Tinteger = strtoul(yytext+2, (char **)NULL, 16); return NUMBER;
+-0x[0-9a-fA-F]+       yylval.Tinteger = strtol(yytext+2, (char **)NULL, 16); return NUMBER;
 [0-9]+\.[0-9]+	yylval.Treal = atof(yytext); return REAL;
 -[0-9]+\.[0-9]+	yylval.Treal = atof(yytext); return REAL;
 [_a-zA-Z0-9]+	yylval.Tstring = strdup(yytext); return IDENTIFIER;