#define _AO_SCHEME_OS_H_
#include "ao.h"
+#include "ao_scheme.h"
-#define AO_SCHEME_SAVE 1
-
-#define AO_SCHEME_POOL_TOTAL 2048
+#define AO_SCHEME_POOL 3792
+#define AO_SCHEME_TOKEN_MAX 64
#ifndef __BYTE_ORDER
#define __LITTLE_ENDIAN 1234
#define __BYTE_ORDER __LITTLE_ENDIAN
#endif
-static inline int
-ao_scheme_getc() {
- static uint8_t at_eol;
- int c;
-
- if (at_eol) {
- ao_cmd_readline();
- at_eol = 0;
- }
- c = ao_cmd_lex();
- if (c == '\n')
- at_eol = 1;
- return c;
-}
+extern int _ao_scheme_getc(void);
-static inline void
-ao_scheme_os_flush(void)
-{
- flush();
-}
+#define ao_scheme_getc(f) ({ (void) (f); _ao_scheme_getc(); })
+#undef putc
+#define putc(c, f) ({ (void) (f); ao_putchar(c); })
+#define fputs(s, f) ({ (void) (f); ao_put_string(s); })
+#define fiprintf(f, ...) ({ (void) (f); iprintf(__VA_ARGS__); })
static inline void
ao_scheme_abort(void)
ao_panic(1);
}
+#ifdef LEDS_AVAILABLE
static inline void
ao_scheme_os_led(int led)
{
ao_led_set(led);
}
+#endif
#define AO_SCHEME_JIFFIES_PER_SECOND AO_HERTZ