optimization pass thru parser
[henge/apc.git] / src / parser.y
index e47ae97..60a5867 100644 (file)
@@ -4,24 +4,23 @@
 }
 
 %{
-  #include "apc.h"
   #include <stdio.h>
   #include <string.h>
   #include <dirent.h>
-
+  #include <unitypes.h>
   extern int lexer_init(); //?
   extern int lexer(); //?
   extern void pop_cdat(void);
-  extern void push_cdat(struct name*);
+  extern void push_cdat(uint8_t*);
   extern void insert_vdat(void);
   extern void insert_refid(int);
-  extern void insert_set_name(struct name*);
-  extern void insert_set_namelist(struct name*);
-  extern void insert_link_name(struct name*);
-  extern void insert_map(struct name*,int, int, int, int, uint8_t*);
-  extern void insert_mlink(struct name*, int);
-  extern void insert_vlink(struct name*, int);
-  extern void insert_framesheet(struct name* ,int, int, int,int, uint8_t*);
+  extern void insert_set_name(uint8_t*);
+  extern void insert_set_namelist(uint8_t*);
+  extern void insert_link_name(uint8_t*);
+  extern void insert_map(uint8_t*,int, int, int, int, uint8_t*);
+  extern void insert_mlink(uint8_t*, int);
+  extern void insert_vlink(uint8_t*, int);
+  extern void insert_framesheet(uint8_t* ,int, int, int,int, uint8_t*);
   
   #define yylex lexer
 
 %define lr.type ielr
 
 %union {
-  int ref;
+  long long ref;
   int val;
   uint8_t* str;
-  struct name* name;
   void *voidp;
 }
 
@@ -56,7 +54,7 @@
 %token <val> HEIGHT
 %token <val> WIDTH
 %token <val> D
-%token <name> NAME
+%token <str> NAME
 //nonterminals
 %type <val> ref_id
  /* Syntax Directed Translation Scheme of the APC grammar */