1 // $Id: lisp_writer.hxx,v 1.4 2003/07/24 10:10:02 grumbel Exp $
3 // Construo - A wire-frame construction game
4 // Copyright (C) 2002 Ingo Ruhnke <grumbel@gmx.de>
6 // This program is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU General Public License
8 // as published by the Free Software Foundation; either version 2
9 // of the License, or (at your option) any later version.
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 #ifndef HEADER_CONSTRUO_LISP_WRITER_HXX
21 #define HEADER_CONSTRUO_LISP_WRITER_HXX
25 #include "lispreader.hxx"
26 #include "vector2d.hxx"
32 std::vector
<lisp_object_t
*> lisp_objs
;
34 void append (lisp_object_t
* obj
);
35 lisp_object_t
* make_list3 (lisp_object_t
*, lisp_object_t
*, lisp_object_t
*);
36 lisp_object_t
* make_list2 (lisp_object_t
*, lisp_object_t
*);
38 LispWriter (const char* name
);
39 void write_vector (const char* name
, const Vector2d
& pos
);
40 void write_float (const char* name
, float f
);
41 void write_int (const char* name
, int i
);
42 void write_boolean (const char* name
, bool b
);
43 void write_string (const char* name
, const char* str
);
44 void write_symbol (const char* name
, const char* symname
);
45 void write_lisp_obj(const char* name
, lisp_object_t
* lst
);
47 /** caller is responible to free the returned lisp_object_t */
48 lisp_object_t
* create_lisp ();