#define __parser_h__
#include "../q.h"
+#include "pool.h"
+#include "code.h"
DECLARE(token);
DECLARE_LIST(token);
+DECLARE(typedcode);
+DECLARE(typedcode_list);
struct _token {
int type;
token_list_t*tokens;
};
-typedef token_t*tokenptr_t;
+typedef struct _writeable {
+ code_t*write;
+ code_t*read;
+ multiname_t*type;
+} writeable_t;
+
+struct _typedcode {
+ code_t*c;
+ multiname_t*t;
+};
+struct _typedcode_list {
+ struct _typedcode typedcode;
+ struct _typedcode_list*nxt;
+};
+
+extern char start_of_expression;
-#define YYSTYPE tokenptr_t
+typedef token_t*tokenptr_t;
#include "parser.tab.h"