#include <cstdlib>
#include <cstring>
-#include "app/globals.h"
-#include "app/setup.h"
-#include "utils/lispreader.h"
+#include "../app/globals.h"
+#include "../app/setup.h"
+#include "../utils/lispreader.h"
+
+using namespace SuperTux;
#define TOKEN_ERROR -1
#define TOKEN_EOF 0
}
lisp_stream_t*
-lisp_stream_init_file (lisp_stream_t *stream, FILE *file)
+SuperTux::lisp_stream_init_file (lisp_stream_t *stream, FILE *file)
{
stream->type = LISP_STREAM_FILE;
stream->v.file = file;
}
lisp_stream_t*
-lisp_stream_init_string (lisp_stream_t *stream, char *buf)
+SuperTux::lisp_stream_init_string (lisp_stream_t *stream, char *buf)
{
stream->type = LISP_STREAM_STRING;
stream->v.string.buf = buf;
}
lisp_stream_t*
-lisp_stream_init_any (lisp_stream_t *stream, void *data,
+SuperTux::lisp_stream_init_any (lisp_stream_t *stream, void *data,
int (*next_char) (void *data),
void (*unget_char) (char c, void *data))
{
}
lisp_object_t*
-lisp_make_integer (int value)
+SuperTux::lisp_make_integer (int value)
{
lisp_object_t *obj = lisp_object_alloc(LISP_TYPE_INTEGER);
}
lisp_object_t*
-lisp_make_real (float value)
+SuperTux::lisp_make_real (float value)
{
lisp_object_t *obj = lisp_object_alloc(LISP_TYPE_REAL);
}
lisp_object_t*
-lisp_make_symbol (const char *value)
+SuperTux::lisp_make_symbol (const char *value)
{
lisp_object_t *obj = lisp_object_alloc(LISP_TYPE_SYMBOL);
}
lisp_object_t*
-lisp_make_string (const char *value)
+SuperTux::lisp_make_string (const char *value)
{
lisp_object_t *obj = lisp_object_alloc(LISP_TYPE_STRING);
}
lisp_object_t*
-lisp_make_cons (lisp_object_t *car, lisp_object_t *cdr)
+SuperTux::lisp_make_cons (lisp_object_t *car, lisp_object_t *cdr)
{
lisp_object_t *obj = lisp_object_alloc(LISP_TYPE_CONS);
}
lisp_object_t*
-lisp_make_boolean (int value)
+SuperTux::lisp_make_boolean (int value)
{
lisp_object_t *obj = lisp_object_alloc(LISP_TYPE_BOOLEAN);
}
lisp_object_t*
-lisp_read (lisp_stream_t *in)
+SuperTux::lisp_read (lisp_stream_t *in)
{
int token = _scan(in);
lisp_object_t *obj = lisp_nil();
}
void
-lisp_free (lisp_object_t *obj)
+SuperTux::lisp_free (lisp_object_t *obj)
{
if (obj == 0)
return;
}
lisp_object_t*
-lisp_read_from_string (const char *buf)
+SuperTux::lisp_read_from_string (const char *buf)
{
lisp_stream_t stream;
}
int
-lisp_compile_pattern (lisp_object_t **obj, int *num_subs)
+SuperTux::lisp_compile_pattern (lisp_object_t **obj, int *num_subs)
{
int index = 0;
int result;
}
int
-lisp_match_pattern (lisp_object_t *pattern, lisp_object_t *obj, lisp_object_t **vars, int num_subs)
+SuperTux::lisp_match_pattern (lisp_object_t *pattern, lisp_object_t *obj, lisp_object_t **vars, int num_subs)
{
int i;
}
int
-lisp_match_string (const char *pattern_string, lisp_object_t *obj, lisp_object_t **vars)
+SuperTux::lisp_match_string (const char *pattern_string, lisp_object_t *obj, lisp_object_t **vars)
{
lisp_object_t *pattern;
int result;
}
int
-lisp_type (lisp_object_t *obj)
+SuperTux::lisp_type (lisp_object_t *obj)
{
if (obj == 0)
return LISP_TYPE_NIL;
}
int
-lisp_integer (lisp_object_t *obj)
+SuperTux::lisp_integer (lisp_object_t *obj)
{
if (obj->type != LISP_TYPE_INTEGER)
throw LispReaderException("lisp_integer()", __FILE__, __LINE__);
}
char*
-lisp_symbol (lisp_object_t *obj)
+SuperTux::lisp_symbol (lisp_object_t *obj)
{
if (obj->type != LISP_TYPE_SYMBOL)
throw LispReaderException("lisp_symbol()", __FILE__, __LINE__);
}
char*
-lisp_string (lisp_object_t *obj)
+SuperTux::lisp_string (lisp_object_t *obj)
{
if (obj->type != LISP_TYPE_STRING)
throw LispReaderException("lisp_string()", __FILE__, __LINE__);
}
int
-lisp_boolean (lisp_object_t *obj)
+SuperTux::lisp_boolean (lisp_object_t *obj)
{
if (obj->type != LISP_TYPE_BOOLEAN)
throw LispReaderException("lisp_boolean()", __FILE__, __LINE__);
}
float
-lisp_real (lisp_object_t *obj)
+SuperTux::lisp_real (lisp_object_t *obj)
{
if (obj->type != LISP_TYPE_REAL && obj->type != LISP_TYPE_INTEGER)
throw LispReaderException("lisp_real()", __FILE__, __LINE__);
}
lisp_object_t*
-lisp_car (lisp_object_t *obj)
+SuperTux::lisp_car (lisp_object_t *obj)
{
if (obj->type != LISP_TYPE_CONS && obj->type != LISP_TYPE_PATTERN_CONS)
throw LispReaderException("lisp_car()", __FILE__, __LINE__);
}
lisp_object_t*
-lisp_cdr (lisp_object_t *obj)
+SuperTux::lisp_cdr (lisp_object_t *obj)
{
if (obj->type != LISP_TYPE_CONS && obj->type != LISP_TYPE_PATTERN_CONS)
throw LispReaderException("lisp_cdr()", __FILE__, __LINE__);
}
lisp_object_t*
-lisp_cxr (lisp_object_t *obj, const char *x)
+SuperTux::lisp_cxr (lisp_object_t *obj, const char *x)
{
int i;
}
int
-lisp_list_length (lisp_object_t *obj)
+SuperTux::lisp_list_length (lisp_object_t *obj)
{
int length = 0;
}
lisp_object_t*
-lisp_list_nth_cdr (lisp_object_t *obj, int index)
+SuperTux::lisp_list_nth_cdr (lisp_object_t *obj, int index)
{
while (index > 0)
{
}
lisp_object_t*
-lisp_list_nth (lisp_object_t *obj, int index)
+SuperTux::lisp_list_nth (lisp_object_t *obj, int index)
{
obj = lisp_list_nth_cdr(obj, index);
}
void
-lisp_dump (lisp_object_t *obj, FILE *out)
+SuperTux::lisp_dump (lisp_object_t *obj, FILE *out)
{
if (obj == 0)
{
return false;
if (!lisp_real_p(lisp_car(obj)) && !lisp_integer_p(lisp_car(obj)))
- st_abort("LispReader expected type real at token: ", name);
+ Termination::abort("LispReader expected type real at token: ", name);
f = lisp_real(lisp_car(obj));
return true;
while(!lisp_nil_p(obj))
{
if (!lisp_string_p(lisp_car(obj)))
- st_abort("LispReader expected type string at token: ", name);
+ Termination::abort("LispReader expected type string at token: ", name);
vec.push_back(lisp_string(lisp_car(obj)));
obj = lisp_cdr(obj);
}
while(!lisp_nil_p(obj))
{
if (!lisp_integer_p(lisp_car(obj)))
- st_abort("LispReader expected type integer at token: ", name);
+ Termination::abort("LispReader expected type integer at token: ", name);
vec.push_back(lisp_integer(lisp_car(obj)));
obj = lisp_cdr(obj);
}
while(!lisp_nil_p(obj))
{
if (!lisp_integer_p(lisp_car(obj)))
- st_abort("LispReader expected type integer at token: ", name);
+ Termination::abort("LispReader expected type integer at token: ", name);
vec.push_back(lisp_integer(lisp_car(obj)));
obj = lisp_cdr(obj);
}
return false;
if (!lisp_string_p(lisp_car(obj)))
- st_abort("LispReader expected type string at token: ", name);
+ Termination::abort("LispReader expected type string at token: ", name);
str = lisp_string(lisp_car(obj));
return true;
}
return false;
if (!lisp_boolean_p(lisp_car(obj)))
- st_abort("LispReader expected type bool at token: ", name);
+ Termination::abort("LispReader expected type bool at token: ", name);
b = lisp_boolean(lisp_car(obj));
return true;
}
return lst;
}
-lisp_object_t* lisp_read_from_file(const std::string& filename)
+lisp_object_t* SuperTux::lisp_read_from_file(const std::string& filename)
{
FILE* in = fopen(filename.c_str(), "r");