#include "ao_lisp.h"
#include "ao_lisp_read.h"
#include <math.h>
+#include <stdlib.h>
static const uint16_t lex_classes[128] = {
IGNORE, /* ^@ */
return NUM;
}
if (isfloat && hasdigit) {
- token_float = atof(token_string);
+ token_float = strtof(token_string, NULL);
return FLOAT;
}
for (u = 0; u < NUM_NAMED_FLOATS; u++)
static inline int lex(void)
{
int parse_token = _lex();
- DBGI("token %d (%s)\n", parse_token, token_string);
+ RDBGI("token %d (%s)\n", parse_token, token_string);
return parse_token;
}
static int
push_read_stack(int cons, int read_state)
{
- DBGI("push read stack %p 0x%x\n", ao_lisp_read_cons, read_state);
- DBG_IN();
+ RDBGI("push read stack %p 0x%x\n", ao_lisp_read_cons, read_state);
+ RDBG_IN();
if (cons) {
ao_lisp_read_stack = ao_lisp_cons_cons(ao_lisp_cons_poly(ao_lisp_read_cons),
ao_lisp__cons(ao_lisp_int_poly(read_state),
ao_lisp_read_cons_tail = 0;
ao_lisp_read_stack = 0;
}
- DBG_OUT();
- DBGI("pop read stack %p %d\n", ao_lisp_read_cons, read_state);
+ RDBG_OUT();
+ RDBGI("pop read stack %p %d\n", ao_lisp_read_cons, read_state);
return read_state;
}
char *string;
int cons;
int read_state;
- ao_poly v;
-
+ ao_poly v = AO_LISP_NIL;
cons = 0;
read_state = 0;