#define USE_EXPRSTRING 0
+static void scm_lreadparen PARAMS ((int));
+static int scm_skip_ws PARAMS ((void));
+static void scm_read_token PARAMS ((int, int));
+static LONGEST scm_istring2number PARAMS ((char *, int, int));
+static LONGEST scm_istr2int PARAMS ((char *, int, int));
static void scm_lreadr PARAMS ((int));
-LONGEST
+static LONGEST
scm_istr2int(str, len, radix)
char *str;
int len;
int radix;
{
- int j;
int i = 0;
LONGEST inum = 0;
int c;
return SCM_MAKINUM (inum);
}
-LONGEST
+static LONGEST
scm_istring2number(str, len, radix)
char *str;
int len;
int i = 0;
char ex = 0;
char ex_p = 0, rx_p = 0; /* Only allow 1 exactness and 1 radix prefix */
+#if 0
SCM res;
+#endif
if (len==1)
if (*str=='+' || *str=='-') /* Catches lone `+' and `-' for speed */
return SCM_BOOL_F;
{
int c, j;
struct stoken str;
- LONGEST svalue;
+ LONGEST svalue = 0;
tryagain:
c = *lexptr++;
switch (c)
goto tryagain;
case '.':
default:
+#if 0
callshrp:
+#endif
scm_lreadr (skipping);
return;
}
case ':':
scm_read_token ('-', 0);
return;
+#if 0
do_symbol:
+#endif
default:
str.ptr = lexptr-1;
scm_read_token (c, 0);
if (!skipping)
{
str.length = lexptr - str.ptr;
+ if (str.ptr[0] == '$')
+ {
+ write_dollar_variable (str);
+ return;
+ }
write_exp_elt_opcode (OP_NAME);
write_exp_string (str);
write_exp_elt_opcode (OP_NAME);
scm_parse ()
{
char* start;
- struct stoken str;
while (*lexptr == ' ')
lexptr++;
start = lexptr;