Annotation of OpenXM/src/kan96xx/trans/yylex_polymake.h, Revision 1.3
1.3 ! takayama 1: /* $OpenXM: OpenXM/src/kan96xx/trans/yylex_polymake.h,v 1.2 2018/05/02 21:25:38 takayama Exp $ */
! 2: #include <stdlib.h>
! 3: #include <string.h>
1.2 takayama 4: #include "gc.h"
1.1 takayama 5: struct pmObject {
6: int tag;
7: void *body;
8: };
9: typedef struct pmObject *pmObjectp ;
10: extern pmObjectp PMlval; /* Yacc on FreeBSD 4.8 does not generate this declaration in yy_polymake.tab.h
11: Yacc on Debian potato generates this declaration in yy_poymake.tab.h
12: No problem with makeing two extern declarations. */
13:
14: #define YYSTYPE pmObjectp
15: #define PM_unknown -2
16: #define PM_noToken -1
17:
18: #define PMobject_str 1
19: #define PMobject_list 2
20: #define PMobject_tree 3
21:
22: struct pmList {
23: pmObjectp left;
24: struct pmList *right;
25: };
26:
27: struct pmTree {
28: char *nodeName;
29: pmObjectp attrList;
30: pmObjectp childs;
31: };
32:
33: int pmSetS(char *s);
34: int pmPreprocess(void);
35: char *pmPutstr(int c);
36: pmObjectp pmNewStrObject(char *s);
37: pmObjectp pmNewListObject(pmObjectp a);
38: pmObjectp pmCons(pmObjectp a,struct pmList *b);
39: int pmListLength(struct pmList *list);
40: pmObjectp pmNewTreeObject(char *s);
41: pmObjectp pmNewTreeObjecto(pmObjectp s);
42: pmObjectp pmAddAttr(pmObjectp c,pmObjectp a);
43: pmObjectp pmAddChild(pmObjectp c,pmObjectp a);
44: void pmPrintObject(FILE *fp,pmObjectp a);
45: char *pmObjectToStr(pmObjectp p);
46: char *pmObjectToStr_aux(pmObjectp p);
1.2 takayama 47: void *sGC_malloc(int n);
48:
1.3 ! takayama 49: int PMlex();
! 50: int PMlex_aux();
! 51: int pmPreprocess();
! 52: void warning_yylex_polymake(char *s);
! 53: void PMerror();
! 54:
! 55:
! 56:
! 57:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>