=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/Attic/yylex_polymake.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- OpenXM/src/kan96xx/Kan/Attic/yylex_polymake.h 2003/11/20 00:06:50 1.2 +++ OpenXM/src/kan96xx/Kan/Attic/yylex_polymake.h 2003/11/20 03:25:08 1.3 @@ -1,4 +1,4 @@ -/* $OpenXM$ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/yylex_polymake.h,v 1.2 2003/11/20 00:06:50 takayama Exp $ */ struct pmObject { int tag; void *body; @@ -10,13 +10,25 @@ typedef struct pmObject *pmObjectp ; #define PMobject_str 1 #define PMobject_list 2 +#define PMobject_tree 3 struct pmList { pmObjectp left; struct pmList *right; }; +struct pmTree { + char *nodeName; + pmObjectp attrList; + pmObjectp childs; +}; + pmObjectp pmNewStrObject(char *s); pmObjectp pmNewListObject(pmObjectp a); 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);