#include "ebisp/builtins.h"
#include "ebisp/parser.h"
#include "system/lt.h"
-#include "system/lt/lt_adapters.h"
#define MAX_BUFFER_LENGTH (5 * 1000 * 1000)
static struct ParseResult parse_number(Gc *gc, struct Token current_token)
{
char *endptr = 0;
- const long int x = strtoimax(current_token.begin, &endptr, 10);
+ const long int x = strtol(current_token.begin, &endptr, 10);
if (current_token.begin == endptr || current_token.end != endptr) {
return parse_failure("Expected number", current_token.begin);
trace_assert(str);
struct Token current_token = next_token(str);
+ if (*current_token.end == 0) {
+ return parse_success(NIL(gc), current_token.end);
+ }
+
struct ParseResult parse_result = parse_expr(gc, current_token);
if (parse_result.is_error) {
return parse_result;
trace_assert(filename);
Lt *lt = create_lt();
- if (lt == NULL) {
- return parse_failure("Could not create Lt object", NULL);
- }
FILE *stream = PUSH_LT(lt, fopen(filename, "rb"), fclose_lt);
if (!stream) {
trace_assert(filename);
Lt *lt = create_lt();
- if (lt == NULL) {
- return parse_failure("Could not create Lt object", NULL);
- }
FILE *stream = PUSH_LT(lt, fopen(filename, "rb"), fclose_lt);
if (!stream) {