/* each successive token and places a semantic value into yylval */
/* (ada-lval), defined by the parser. */
-/* Run flex with (at least) the -i option (case-insensitive), and the -I */
-/* option (interactive---no unnecessary lookahead). */
-
DIG [0-9]
NUM10 ({DIG}({DIG}|_)*)
HEXDIG [0-9a-f]
POSEXP (e"+"?{NUM10})
%{
-#define malloc xmalloc
-#define free xfree
#define NUMERAL_WIDTH 256
#define LONGEST_SIGN ((ULONGEST) 1 << (sizeof(LONGEST) * HOST_CHAR_BIT - 1))
%}
+%option case-insensitive interactive nodefault
+
%s IN_STRING BEFORE_QUAL_QUOTE
%%
}
<INITIAL>"'"({GRAPHIC}|\")"'" {
- yylval.typed_val.type = builtin_type_ada_char;
+ yylval.typed_val.type = type_char ();
yylval.typed_val.val = yytext[1];
return CHARLIT;
}
<INITIAL>"'[\""{HEXDIG}{2}"\"]'" {
int v;
- yylval.typed_val.type = builtin_type_ada_char;
+ yylval.typed_val.type = type_char ();
sscanf (yytext+3, "%2x", &v);
yylval.typed_val.val = v;
return CHARLIT;
if (tempbufsize < n)
{
tempbufsize = (n+63) & ~63;
- tempbuf = (char *) xrealloc (tempbuf, tempbufsize);
+ tempbuf = (char *) realloc (tempbuf, tempbufsize);
}
}
}
if ((result >> (TARGET_INT_BIT-1)) == 0)
- yylval.typed_val.type = builtin_type_ada_int;
+ yylval.typed_val.type = type_int ();
else if ((result >> (TARGET_LONG_BIT-1)) == 0)
- yylval.typed_val.type = builtin_type_ada_long;
+ yylval.typed_val.type = type_long ();
else if (((result >> (TARGET_LONG_BIT-1)) >> 1) == 0)
{
/* We have a number representable as an unsigned integer quantity.
return INT;
}
else
- yylval.typed_val.type = builtin_type_ada_long_long;
+ yylval.typed_val.type = type_long_long ();
yylval.typed_val.val = (LONGEST) result;
return INT;
yylval.typed_val_float.dval = temp;
}
- yylval.typed_val_float.type = builtin_type_ada_float;
+ yylval.typed_val_float.type = type_float ();
if (sizeof(DOUBLEST) >= TARGET_DOUBLE_BIT / TARGET_CHAR_BIT)
- yylval.typed_val_float.type = builtin_type_ada_double;
+ yylval.typed_val_float.type = type_double ();
if (sizeof(DOUBLEST) >= TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT)
- yylval.typed_val_float.type = builtin_type_ada_long_double;
+ yylval.typed_val_float.type = type_long_double ();
return FLOAT;
}
current_gdbarch,
name);
if (type == NULL && strcmp ("system__address", name) == 0)
- type = builtin_type_ada_system_address;
+ type = type_system_address ();
if (type != NULL)
{
/* First check to see if we have a regular definition of this
{
return 1;
}
+
+/* Dummy definition to suppress warnings about unused static definitions. */
+typedef void (*dummy_function) ();
+dummy_function ada_flex_use[] =
+{
+ (dummy_function) yyrealloc, (dummy_function) yyunput
+};