FRACTION {N}+\/{N}+
INT -?{UNSIGNED}
REAL ({INT}\.{N}*)|(-?\.{N}+)
+STRICTREAL {UNSIGNED}\.{UNSIGNED}
WHITE [ \n\t\f\r]
HORIZONTALWHITE [ \t]
BLACK [^ \n\t\f\r]
yylval = scan_fraction (YYText ());
return FRACTION;
}
- {UNSIGNED}/\/ | // backup rule
- {UNSIGNED} {
+ {STRICTREAL} {
+ yylval = scm_c_read_string (YYText ());
+ return REAL;
+ }
+ {UNSIGNED}/[/.] | // backup rule
+ {UNSIGNED} {
yylval = scm_c_read_string (YYText ());
return UNSIGNED;
}
yylval = scan_fraction (YYText ());
return FRACTION;
}
- {UNSIGNED}/\/ | // backup rule
+ {STRICTREAL} {
+ yylval = scm_c_read_string (YYText ());
+ return REAL;
+ }
+ {UNSIGNED}/[/.] | // backup rule
{UNSIGNED} {
yylval = scm_c_read_string (YYText ());
return UNSIGNED;
yyterminate ();
}
-<maininput>. {
+<maininput>{ANY_CHAR} {
while (include_stack_.size () > main_input_level_
&& close_input ())
;