aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-sexp.h
diff options
context:
space:
mode:
authornobody <nobody@localhost>2000-08-22 20:05:30 +0800
committernobody <nobody@localhost>2000-08-22 20:05:30 +0800
commitce9d5b5e12c8e0ac180f3c006ff1c12b0d14b040 (patch)
tree3b4824784cd30983db4a6ae1f38db287d5815941 /e-util/e-sexp.h
parent44ae37c371e25fe05e8aee145f1d9af7130a201d (diff)
downloadgsoc2013-evolution-ce9d5b5e12c8e0ac180f3c006ff1c12b0d14b040.tar
gsoc2013-evolution-ce9d5b5e12c8e0ac180f3c006ff1c12b0d14b040.tar.gz
gsoc2013-evolution-ce9d5b5e12c8e0ac180f3c006ff1c12b0d14b040.tar.bz2
gsoc2013-evolution-ce9d5b5e12c8e0ac180f3c006ff1c12b0d14b040.tar.lz
gsoc2013-evolution-ce9d5b5e12c8e0ac180f3c006ff1c12b0d14b040.tar.xz
gsoc2013-evolution-ce9d5b5e12c8e0ac180f3c006ff1c12b0d14b040.tar.zst
gsoc2013-evolution-ce9d5b5e12c8e0ac180f3c006ff1c12b0d14b040.zip
This commit was manufactured by cvs2svn to create tagGNOMEDB_0_1_0
'GNOMEDB_0_1_0'. svn path=/tags/GNOMEDB_0_1_0/; revision=4935
Diffstat (limited to 'e-util/e-sexp.h')
-rw-r--r--e-util/e-sexp.h119
1 files changed, 0 insertions, 119 deletions
diff --git a/e-util/e-sexp.h b/e-util/e-sexp.h
deleted file mode 100644
index 1030531133..0000000000
--- a/e-util/e-sexp.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- generic s-exp evaluator class
-*/
-#ifndef _E_SEXP_H
-#define _E_SEXP_H
-
-#include <glib.h>
-#include <gtk/gtk.h>
-
-#define E_SEXP(obj) GTK_CHECK_CAST (obj, e_sexp_get_type (), ESExp)
-#define E_SEXP_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, e_sexp_get_type (), ESExpClass)
-#define FILTER_IS_SEXP(obj) GTK_CHECK_TYPE (obj, e_sexp_get_type ())
-
-typedef struct _ESExp ESExp;
-typedef struct _ESExpClass ESExpClass;
-
-typedef struct _ESExpSymbol ESExpSymbol;
-typedef struct _ESExpResult ESExpResult;
-typedef struct _ESExpTerm ESExpTerm;
-
-typedef struct _ESExpResult *(ESExpFunc)(struct _ESExp *sexp,
- int argc,
- struct _ESExpResult **argv,
- void *data);
-
-typedef struct _ESExpResult *(ESExpIFunc)(struct _ESExp *sexp,
- int argc,
- struct _ESExpTerm **argv,
- void *data);
-enum _ESExpResultType {
- ESEXP_RES_ARRAY_PTR=0, /* type is a ptrarray, what it points to is implementation dependant */
- ESEXP_RES_INT, /* type is a number */
- ESEXP_RES_STRING, /* type is a pointer to a single string */
- ESEXP_RES_BOOL, /* boolean type */
- ESEXP_RES_UNDEFINED /* unknown type */
-};
-
-struct _ESExpResult {
- enum _ESExpResultType type;
- union {
- GPtrArray *ptrarray;
- int number;
- char *string;
- int bool;
- } value;
-};
-
-enum _ESExpTermType {
- ESEXP_TERM_INT = 0, /* integer literal */
- ESEXP_TERM_BOOL, /* boolean literal */
- ESEXP_TERM_STRING, /* string literal */
- ESEXP_TERM_FUNC, /* normal function, arguments are evaluated before calling */
- ESEXP_TERM_IFUNC, /* immediate function, raw terms are arguments */
- ESEXP_TERM_VAR, /* variable reference */
-};
-
-struct _ESExpSymbol {
- int type; /* ESEXP_TERM_FUNC or ESEXP_TERM_VAR */
- char *name;
- void *data;
- union {
- ESExpFunc *func;
- ESExpIFunc *ifunc;
- } f;
-};
-
-struct _ESExpTerm {
- enum _ESExpTermType type;
- union {
- char *string;
- int number;
- int bool;
- struct {
- struct _ESExpSymbol *sym;
- struct _ESExpTerm **terms;
- int termcount;
- } func;
- struct _ESExpSymbol *var;
- } value;
-};
-
-
-
-struct _ESExp {
- GtkObject object;
-
- GScanner *scanner; /* for parsing text version */
- ESExpTerm *tree; /* root of expression tree */
-};
-
-struct _ESExpClass {
- GtkObjectClass parent_class;
-
-};
-
-guint e_sexp_get_type (void);
-ESExp *e_sexp_new (void);
-void e_sexp_add_function (ESExp *f, int scope, char *name, ESExpFunc *func, void *data);
-void e_sexp_add_ifunction (ESExp *f, int scope, char *name, ESExpIFunc *func, void *data);
-void e_sexp_add_variable (ESExp *f, int scope, char *name, ESExpTerm *value);
-void e_sexp_remove_symbol (ESExp *f, int scope, char *name);
-int e_sexp_set_scope (ESExp *f, int scope);
-
-void e_sexp_input_text (ESExp *f, const char *text, int len);
-void e_sexp_input_file (ESExp *f, int fd);
-
-
-void e_sexp_parse (ESExp *f);
-ESExpResult *e_sexp_eval (ESExp *f);
-
-ESExpResult *e_sexp_term_eval (struct _ESExp *f, struct _ESExpTerm *t);
-ESExpResult *e_sexp_result_new (int type);
-void e_sexp_result_free (struct _ESExpResult *t);
-
-/* utility functions for creating s-exp strings. */
-void e_sexp_encode_bool(GString *s, gboolean state);
-void e_sexp_encode_string(GString *s, const char *string);
-
-#endif /* _E_SEXP_H */