version 1.1, 2003/11/20 00:06:07 |
version 1.2, 2003/11/20 03:25:08 |
|
|
/* $OpenXM$ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/yy_polymake.y,v 1.1 2003/11/20 00:06:07 takayama Exp $ */ |
/* yacc -d -b yy_polymake -p PM yy_polymake.y */ |
/* yacc -d -b yy_polymake -p PM yy_polymake.y */ |
/* yacc -d -b yy_polymake -p PM yy_polymake.y ; gcc yylex_polymake.c yy_polymake.tab.c*/ |
/* yacc -d -b yy_polymake -p PM yy_polymake.y ; gcc yylex_polymake.c yy_polymake.tab.c*/ |
%{ |
%{ |
|
|
%token PM_number PM_newline |
%token PM_number PM_newline |
|
|
%% |
%% |
|
|
program |
program |
: |
: |
pmdata |
programList { |
| pmdata program |
pmPrintObject(stdout,$1); |
|
fprintf(stdout,"\n"); |
|
} |
; |
; |
|
|
|
|
|
programList |
|
: |
|
pmdata { |
|
pmObjectp ob; |
|
ob = pmNewTreeObject("data"); |
|
ob = pmAddChild($1,ob); |
|
$$ = ob; |
|
} |
|
| pmdata programList { |
|
pmObjectp ob; |
|
ob = $2; |
|
ob = pmAddChild($1,ob); |
|
$$ = ob; |
|
} |
|
; |
|
|
pmnumberList |
pmnumberList |
: |
: |
PM_number { |
PM_number { |
|
|
pmdata |
pmdata |
: |
: |
PM_keyword PM_newline pmemptyLine { |
PM_keyword PM_newline pmemptyLine { |
printf("polymake."); |
$$=pmNewTreeObjecto($1); |
pmPrintObject(stdout,$1); |
|
printf("();\n"); |
|
} |
} |
| PM_keyword PM_newline pmlineList pmemptyLine { |
| PM_keyword PM_newline pmlineList pmemptyLine { |
printf("polymake."); |
pmObjectp ob; |
pmPrintObject(stdout,$1); |
ob = pmNewTreeObjecto($1); |
printf("("); |
ob = pmAddChild($3,ob); |
pmPrintObject(stdout,$3); printf(");\n"); |
$$=ob; |
} |
} |
; |
; |
|
|