*** empty log message ***
This commit is contained in:
parent
f3f5b911dd
commit
62799e02fd
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: array.c,v 1.5 2005-05-22 13:41:14 bacon Exp $
|
* $Id: array.c,v 1.6 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/lisp/array.h>
|
#include <xp/lsp/array.h>
|
||||||
#include <xp/bas/memory.h>
|
#include <xp/bas/memory.h>
|
||||||
#include <xp/bas/assert.h>
|
#include <xp/bas/assert.h>
|
||||||
|
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: array.h,v 1.3 2005-05-22 13:41:14 bacon Exp $
|
* $Id: array.h,v 1.4 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_LISP_ARRAY_H_
|
#ifndef _XP_LSP_ARRAY_H_
|
||||||
#define _XP_LISP_ARRAY_H_
|
#define _XP_LSP_ARRAY_H_
|
||||||
|
|
||||||
#include <xp/types.h>
|
#include <xp/types.h>
|
||||||
|
|
||||||
struct xp_lisp_array_t {
|
struct xp_lisp_array_t
|
||||||
|
{
|
||||||
void** buffer;
|
void** buffer;
|
||||||
xp_size_t size;
|
xp_size_t size;
|
||||||
xp_size_t capacity;
|
xp_size_t capacity;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: env.c,v 1.5 2005-04-24 07:48:16 bacon Exp $
|
* $Id: env.c,v 1.6 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/lisp/env.h>
|
#include <xp/lsp/env.h>
|
||||||
#include <xp/bas/memory.h>
|
#include <xp/bas/memory.h>
|
||||||
#include <xp/bas/assert.h>
|
#include <xp/bas/assert.h>
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: env.h,v 1.2 2005-02-04 16:00:37 bacon Exp $
|
* $Id: env.h,v 1.3 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_LISP_ENV_H_
|
#ifndef _XP_LSP_ENV_H_
|
||||||
#define _XP_LISP_ENV_H_
|
#define _XP_LSP_ENV_H_
|
||||||
|
|
||||||
#include <xp/lisp/object.h>
|
#include <xp/lsp/object.h>
|
||||||
|
|
||||||
struct xp_lisp_assoc_t
|
struct xp_lisp_assoc_t
|
||||||
{
|
{
|
||||||
|
@ -1,24 +1,16 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: eval.c,v 1.6 2005-04-24 07:48:16 bacon Exp $
|
* $Id: eval.c,v 1.7 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/lisp/lisp.h>
|
#include <xp/lsp/lisp.h>
|
||||||
#include <xp/lisp/env.h>
|
#include <xp/lsp/env.h>
|
||||||
#include <xp/lisp/primitive.h>
|
#include <xp/lsp/primitive.h>
|
||||||
#include <xp/bas/assert.h>
|
#include <xp/bas/assert.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static xp_lisp_obj_t* make_func (xp_lisp_t* lsp, xp_lisp_obj_t* cdr, int is_macro);
|
static xp_lisp_obj_t* make_func (xp_lisp_t* lsp, xp_lisp_obj_t* cdr, int is_macro);
|
||||||
static xp_lisp_obj_t* eval_cons (xp_lisp_t* lsp, xp_lisp_obj_t* cons);
|
static xp_lisp_obj_t* eval_cons (xp_lisp_t* lsp, xp_lisp_obj_t* cons);
|
||||||
static xp_lisp_obj_t* apply (xp_lisp_t* lsp, xp_lisp_obj_t* func, xp_lisp_obj_t* actual);
|
static xp_lisp_obj_t* apply (xp_lisp_t* lsp, xp_lisp_obj_t* func, xp_lisp_obj_t* actual);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
xp_lisp_obj_t* xp_lisp_eval (xp_lisp_t* lsp, xp_lisp_obj_t* obj)
|
xp_lisp_obj_t* xp_lisp_eval (xp_lisp_t* lsp, xp_lisp_obj_t* obj)
|
||||||
{
|
{
|
||||||
lsp->error = XP_LISP_ERR_NONE;
|
lsp->error = XP_LISP_ERR_NONE;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: lisp.c,v 1.8 2005-04-24 07:48:16 bacon Exp $
|
* $Id: lisp.c,v 1.9 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/lisp/lisp.h>
|
#include <xp/lsp/lisp.h>
|
||||||
#include <xp/bas/memory.h>
|
#include <xp/bas/memory.h>
|
||||||
#include <xp/bas/assert.h>
|
#include <xp/bas/assert.h>
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: lisp.h,v 1.4 2005-04-24 07:48:16 bacon Exp $
|
* $Id: lisp.h,v 1.5 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_LISP_LISP_H_
|
#ifndef _XP_LSP_LISP_H_
|
||||||
#define _XP_LISP_LISP_H_
|
#define _XP_LSP_LISP_H_
|
||||||
|
|
||||||
#include <xp/lisp/types.h>
|
#include <xp/lsp/types.h>
|
||||||
#include <xp/lisp/token.h>
|
#include <xp/lsp/token.h>
|
||||||
#include <xp/lisp/object.h>
|
#include <xp/lsp/object.h>
|
||||||
#include <xp/lisp/memory.h>
|
#include <xp/lsp/memory.h>
|
||||||
|
|
||||||
#include <xp/bas/stdio.h> // TODO: may have to remove dependency on stdio?
|
#include <xp/bas/stdio.h> // TODO: may have to remove dependency on stdio?
|
||||||
|
|
||||||
|
18
ase/lsp/makefile.lcc
Normal file
18
ase/lsp/makefile.lcc
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
SRCS = env.c token.c memory.c lisp.c primitive.c read.c eval.c print.c array.c
|
||||||
|
OBJS = env.obj token.obj memory.obj lisp.obj primitive.obj read.obj eval.obj print.obj array.obj
|
||||||
|
OUT = xpstx.lib
|
||||||
|
|
||||||
|
CC = lcc
|
||||||
|
CFLAGS = -I../.. -A -ansic -libcdll
|
||||||
|
LDFLAGS =
|
||||||
|
LIBS =
|
||||||
|
|
||||||
|
all: $(OBJS)
|
||||||
|
lcclib $(OUT) $(OBJS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
del $(OBJS) $(OUT) *.obj
|
||||||
|
|
||||||
|
.SUFFIXES: .c .obj
|
||||||
|
.c.obj:
|
||||||
|
$(CC) $(CFLAGS) -c $<
|
@ -1,9 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: memory.c,v 1.10 2005-04-24 07:48:16 bacon Exp $
|
* $Id: memory.c,v 1.11 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/lisp/memory.h>
|
#include <xp/lsp/memory.h>
|
||||||
#include <xp/lisp/primitive.h>
|
#include <xp/lsp/primitive.h>
|
||||||
#include <xp/bas/memory.h>
|
#include <xp/bas/memory.h>
|
||||||
#include <xp/bas/assert.h>
|
#include <xp/bas/assert.h>
|
||||||
#include <xp/bas/dprint.h>
|
#include <xp/bas/dprint.h>
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: memory.h,v 1.4 2005-02-14 14:37:50 bacon Exp $
|
* $Id: memory.h,v 1.5 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_LISP_MEM_H_
|
#ifndef _XP_LSP_MEM_H_
|
||||||
#define _XP_LISP_MEM_H_
|
#define _XP_LSP_MEM_H_
|
||||||
|
|
||||||
#include <xp/lisp/object.h>
|
#include <xp/lsp/object.h>
|
||||||
#include <xp/lisp/env.h>
|
#include <xp/lsp/env.h>
|
||||||
#include <xp/lisp/array.h>
|
#include <xp/lsp/array.h>
|
||||||
|
|
||||||
struct xp_lisp_mem_t
|
struct xp_lisp_mem_t
|
||||||
{
|
{
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: object.h,v 1.4 2005-02-14 14:37:50 bacon Exp $
|
* $Id: object.h,v 1.5 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_LISP_OBJECT_H_
|
#ifndef _XP_LISP_OBJECT_H_
|
||||||
#define _XP_LISP_OBJECT_H_
|
#define _XP_LISP_OBJECT_H_
|
||||||
|
|
||||||
#include <xp/lisp/types.h>
|
#include <xp/lsp/types.h>
|
||||||
|
|
||||||
// object types
|
// object types
|
||||||
enum
|
enum
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: primitive.c,v 1.6 2005-04-24 07:48:16 bacon Exp $
|
* $Id: primitive.c,v 1.7 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/lisp/lisp.h>
|
#include <xp/lsp/lisp.h>
|
||||||
#include <xp/lisp/memory.h>
|
#include <xp/lsp/memory.h>
|
||||||
#include <xp/lisp/primitive.h>
|
#include <xp/lsp/primitive.h>
|
||||||
#include <xp/bas/assert.h>
|
#include <xp/bas/assert.h>
|
||||||
|
|
||||||
xp_lisp_obj_t* xp_lisp_prim_abort (xp_lisp_t* lsp, xp_lisp_obj_t* args)
|
xp_lisp_obj_t* xp_lisp_prim_abort (xp_lisp_t* lsp, xp_lisp_obj_t* args)
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: primitive.h,v 1.2 2005-02-04 16:00:37 bacon Exp $
|
* $Id: primitive.h,v 1.3 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_LISP_PRIM_H_
|
#ifndef _XP_LSP_PRIM_H_
|
||||||
#define _XP_LISP_PRIM_H_
|
#define _XP_LSP_PRIM_H_
|
||||||
|
|
||||||
#include <xp/lisp/types.h>
|
#include <xp/lsp/types.h>
|
||||||
#include <xp/lisp/lisp.h>
|
#include <xp/lsp/lisp.h>
|
||||||
|
|
||||||
typedef xp_lisp_obj_t* (*xp_lisp_pimpl_t) (xp_lisp_t*, xp_lisp_obj_t*);
|
typedef xp_lisp_obj_t* (*xp_lisp_pimpl_t) (xp_lisp_t*, xp_lisp_obj_t*);
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: print.c,v 1.4 2005-02-14 14:37:50 bacon Exp $
|
* $Id: print.c,v 1.5 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/lisp/lisp.h>
|
#include <xp/lsp/lisp.h>
|
||||||
|
|
||||||
void xp_lisp_print_debug (xp_lisp_obj_t* obj)
|
void xp_lisp_print_debug (xp_lisp_obj_t* obj)
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: token.c,v 1.9 2005-05-22 13:41:14 bacon Exp $
|
* $Id: token.c,v 1.10 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/lisp/token.h>
|
#include <xp/lsp/token.h>
|
||||||
#include <xp/bas/memory.h>
|
#include <xp/bas/memory.h>
|
||||||
#include <xp/bas/assert.h>
|
#include <xp/bas/assert.h>
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: token.h,v 1.6 2005-05-22 13:41:14 bacon Exp $
|
* $Id: token.h,v 1.7 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_LISP_TOKEN_H_
|
#ifndef _XP_LSP_TOKEN_H_
|
||||||
#define _XP_LISP_TOKEN_H_
|
#define _XP_LSP_TOKEN_H_
|
||||||
|
|
||||||
#include <xp/lisp/types.h>
|
#include <xp/lsp/types.h>
|
||||||
|
|
||||||
struct xp_lisp_token_t
|
struct xp_lisp_token_t
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: types.h,v 1.5 2005-02-14 14:37:50 bacon Exp $
|
* $Id: types.h,v 1.6 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_LISP_TYPES_H_
|
#ifndef _XP_LSP_TYPES_H_
|
||||||
#define _XP_LISP_TYPES_H_
|
#define _XP_LSP_TYPES_H_
|
||||||
|
|
||||||
#include <xp/types.h>
|
#include <xp/types.h>
|
||||||
#include <xp/macros.h>
|
#include <xp/macros.h>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: macros.h,v 1.24 2005-05-10 16:08:10 bacon Exp $
|
* $Id: macros.h,v 1.25 2005-05-28 13:34:26 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_MACROS_H_
|
#ifndef _XP_MACROS_H_
|
||||||
@ -13,7 +13,7 @@
|
|||||||
#define XP_NULL ((void*)0)
|
#define XP_NULL ((void*)0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define XP_EOF ((xp_cint_t)-1)
|
#define XP_CHAR_EOF ((xp_cint_t)-1)
|
||||||
|
|
||||||
#define xp_sizeof(n) (sizeof(n))
|
#define xp_sizeof(n) (sizeof(n))
|
||||||
#define xp_countof(n) (sizeof(n) / sizeof(n[0]))
|
#define xp_countof(n) (sizeof(n) / sizeof(n[0]))
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
SUBDIRS=bas net utl awk lisp
|
SUBDIRS=bas net utl awk lsp
|
||||||
|
|
||||||
all:
|
all:
|
||||||
@for i in $(SUBDIRS); \
|
@for i in $(SUBDIRS); \
|
||||||
|
Loading…
Reference in New Issue
Block a user