=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/trans/yylex_polymake.c,v retrieving revision 1.3 retrieving revision 1.7 diff -u -p -r1.3 -r1.7 --- OpenXM/src/kan96xx/trans/yylex_polymake.c 2004/07/15 07:50:40 1.3 +++ OpenXM/src/kan96xx/trans/yylex_polymake.c 2020/10/06 11:33:48 1.7 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/trans/yylex_polymake.c,v 1.2 2004/04/08 01:49:04 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/trans/yylex_polymake.c,v 1.6 2018/05/03 13:20:35 takayama Exp $ */ /* parser for polymake output */ /* This program requires @@ -38,7 +38,7 @@ char *pmPutstr(int c) { return putstr(c); } -pmSetS(char *s) { +int pmSetS(char *s) { S = s; return 0; } @@ -74,6 +74,7 @@ int PMlex_aux() { if (S[Pt] == '[') { Pt++; return PM_LBracket; } if (S[Pt] == ']') { Pt++; return PM_RBracket; } if (S[Pt] == ':') { Pt++; return PM_colon; } + if (S[Pt] == '=') { Pt++; return PM_eq; } if (((S[Pt] >= '0') && (S[Pt] <= '9')) || (S[Pt] == '-')) { putstr(-1); putstr(S[Pt++]); while (((S[Pt]>='0') && (S[Pt]<='9')) || (S[Pt] == '/')) putstr(S[Pt++]); @@ -82,13 +83,17 @@ int PMlex_aux() { } if (((S[Pt] >= 'A') && (S[Pt] <= 'Z')) || ((S[Pt] >= 'a') && (S[Pt] <= 'z')) || - (S[Pt] == '_')) { - putstr(-1); putstr(S[Pt++]); - while (((S[Pt] >= 'A') && (S[Pt] <= 'Z')) || - ((S[Pt] >= 'a') && (S[Pt] <= 'z')) || - (S[Pt] == '_')) putstr(S[Pt++]); - PMlval = pmNewStrObject(putstr(0)); - return PM_keyword; + (S[Pt] == '_') || S[Pt] == '!') { + if (S[Pt] != '!') {putstr(-1); putstr(S[Pt++]);} + else { + putstr(-1); Pt++; + putstr('N'); putstr('O'); putstr('T'); putstr('_'); putstr('_'); + } + while (((S[Pt] >= 'A') && (S[Pt] <= 'Z')) || + ((S[Pt] >= 'a') && (S[Pt] <= 'z')) || + (S[Pt] == '_')) putstr(S[Pt++]); + PMlval = pmNewStrObject(putstr(0)); + return PM_keyword; } Pt++; return PM_unknown; } @@ -159,7 +164,7 @@ static char *putstr2s(char *s) { return ss; } -pmPreprocess() { +int pmPreprocess() { int newp,oldp; int state; int i,j; @@ -338,7 +343,7 @@ pmObjectp pmAddChild(pmObjectp c,pmObjectp a) { return a; } -warning_yylex_polymake(char *s) { +void warning_yylex_polymake(char *s) { fprintf(stderr,"Warning: %s",s); }