aboutsummaryrefslogtreecommitdiff
path: root/tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'tree.h')
-rw-r--r--tree.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/tree.h b/tree.h
index b1099e4e..0e7c27c9 100644
--- a/tree.h
+++ b/tree.h
@@ -1,7 +1,7 @@
1/* 1/*
2** tree.h 2** tree.h
3** TecCGraf - PUC-Rio 3** TecCGraf - PUC-Rio
4** $Id: $ 4** $Id: tree.h,v 1.1 1994/07/19 21:24:17 celes Exp roberto $
5*/ 5*/
6 6
7#ifndef tree_h 7#ifndef tree_h
@@ -14,14 +14,23 @@
14#define MARKED_STRING 0xFFFE 14#define MARKED_STRING 0xFFFE
15#define MAX_WORD 0xFFFD 15#define MAX_WORD 0xFFFD
16 16
17
18typedef struct TreeNode
19{
20 struct TreeNode *right;
21 struct TreeNode *left;
22 Word varindex; /* if this is a symbol */
23 Word constindex; /* if this is a constant; also used for garbage collection */
24 char str[1]; /* \0 byte already reserved */
25} TreeNode;
26
27
17#define indexstring(s) (*(((Word *)s)-1)) 28#define indexstring(s) (*(((Word *)s)-1))
18 29
19 30
20char *lua_strcreate (char *str); 31char *lua_strcreate (char *str);
21char *lua_constcreate (char *str); 32TreeNode *lua_constcreate (char *str);
22char *lua_varcreate (char *str);
23void lua_strcollector (void); 33void lua_strcollector (void);
24char *lua_varnext (char *n); 34char *lua_varnext (char *n);
25char *lua_varname (Word index);
26 35
27#endif 36#endif