33 lines
538 B
C
33 lines
538 B
C
#ifndef INCLUDED_SYMBOL_H
|
|
#define INCLUDED_SYMBOL_H
|
|
|
|
#include "lisp/function.h"
|
|
#include "lisp/object.h"
|
|
#include "lisp/string.h"
|
|
#include "lisp/util.h"
|
|
|
|
LISP_BEGIN_DECLS
|
|
|
|
DECLARE_CLASS(Symbol);
|
|
|
|
struct Symbol {
|
|
Object base;
|
|
String *name;
|
|
|
|
Object *value;
|
|
Class *class;
|
|
Function *func;
|
|
Object *plist;
|
|
};
|
|
struct SymbolClass {
|
|
Class base;
|
|
|
|
Object *(*value)(Object *self);
|
|
Object *(*class)(Object *self);
|
|
Object *(*function)(Object *self);
|
|
Object *(*plist)(Object *self);
|
|
};
|
|
|
|
LISP_END_DECLS
|
|
#endif
|