version 1.1, 2003/11/20 00:06:07 |
version 1.6, 2003/11/20 23:32:24 |
|
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/yylex_polymake.h,v 1.5 2003/11/20 07:56:00 takayama Exp $ */ |
struct pmObject { |
struct pmObject { |
int tag; |
int tag; |
void *body; |
void *body; |
}; |
}; |
typedef struct pmObject *pmObjectp ; |
typedef struct pmObject *pmObjectp ; |
|
extern pmObjectp PMlval; /* Yacc on FreeBSD 4.8 does not generate this declaration in yy_polymake.tab.h |
|
Yacc on Debian potato generates this declaration in yy_poymake.tab.h |
|
No problem with makeing two extern declarations. */ |
|
|
#define YYSTYPE pmObjectp |
#define YYSTYPE pmObjectp |
#define PM_unknown -2 |
#define PM_unknown -2 |
#define PM_noToken -1 |
#define PM_noToken -1 |
|
|
#define PMobject_str 1 |
#define PMobject_str 1 |
#define PMobject_list 2 |
#define PMobject_list 2 |
|
#define PMobject_tree 3 |
|
|
struct pmList { |
struct pmList { |
pmObjectp left; |
pmObjectp left; |
struct pmList *right; |
struct pmList *right; |
}; |
}; |
|
|
|
struct pmTree { |
|
char *nodeName; |
|
pmObjectp attrList; |
|
pmObjectp childs; |
|
}; |
|
|
|
int pmSetS(char *s); |
|
int pmPreprocess(void); |
|
char *pmPutstr(int c); |
pmObjectp pmNewStrObject(char *s); |
pmObjectp pmNewStrObject(char *s); |
pmObjectp pmNewListObject(pmObjectp a); |
pmObjectp pmNewListObject(pmObjectp a); |
pmObjectp pmCons(pmObjectp a,struct pmList *b); |
pmObjectp pmCons(pmObjectp a,struct pmList *b); |
|
int pmListLength(struct pmList *list); |
|
pmObjectp pmNewTreeObject(char *s); |
|
pmObjectp pmNewTreeObjecto(pmObjectp s); |
|
pmObjectp pmAddAttr(pmObjectp c,pmObjectp a); |
|
pmObjectp pmAddChild(pmObjectp c,pmObjectp a); |
void pmPrintObject(FILE *fp,pmObjectp a); |
void pmPrintObject(FILE *fp,pmObjectp a); |
|
char *pmObjectToStr(pmObjectp p); |
|
char *pmObjectToStr_aux(pmObjectp p); |