File: [local] / OpenXM / src / kan96xx / trans / yylex_polymake.h (download)
Revision 1.3, Thu May 3 13:20:35 2018 UTC (6 years, 2 months ago) by takayama
Branch: MAIN
CVS Tags: HEAD Changes since 1.2: +12 -1
lines
Added prototype declarations.
PMparse (yyparse) returns int. PMerror (yyerror)?
|
/* $OpenXM: OpenXM/src/kan96xx/trans/yylex_polymake.h,v 1.3 2018/05/03 13:20:35 takayama Exp $ */
#include <stdlib.h>
#include <string.h>
#include "gc.h"
struct pmObject {
int tag;
void *body;
};
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 PM_unknown -2
#define PM_noToken -1
#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;
};
int pmSetS(char *s);
int pmPreprocess(void);
char *pmPutstr(int c);
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);
char *pmObjectToStr(pmObjectp p);
char *pmObjectToStr_aux(pmObjectp p);
void *sGC_malloc(int n);
int PMlex();
int PMlex_aux();
int pmPreprocess();
void warning_yylex_polymake(char *s);
void PMerror();