Annotation of OpenXM/src/kan96xx/Kan/yy_polymake.y, Revision 1.1
1.1 ! takayama 1: /* $OpenXM$ */
! 2: /* yacc -d -b yy_polymake -p PM yy_polymake.y */
! 3: /* yacc -d -b yy_polymake -p PM yy_polymake.y ; gcc yylex_polymake.c yy_polymake.tab.c*/
! 4: %{
! 5: #include <stdio.h>
! 6: #include "yylex_polymake.h"
! 7: %}
! 8:
! 9:
! 10: %token PM_emptyLine PM_keyword PM_LCurryBrace PM_RCurryBrace
! 11: %token PM_number PM_newline
! 12:
! 13: %%
! 14:
! 15: program
! 16: :
! 17: pmdata
! 18: | pmdata program
! 19: ;
! 20:
! 21: pmnumberList
! 22: :
! 23: PM_number {
! 24: $$=pmNewListObject($1);
! 25: }
! 26: | PM_number pmnumberList {
! 27: pmObjectp t;
! 28: t = $2;
! 29: if (t->tag != PMobject_list) {
! 30: fprintf(stderr,"pmnumberList: list is broken.");
! 31: $$=$1;
! 32: }else{
! 33: $$=pmCons($1,(struct pmList *)(t->body));
! 34: }
! 35: }
! 36: ;
! 37:
! 38:
! 39: pmline
! 40: : pmnumberList PM_newline {
! 41: $$=$1;
! 42: }
! 43: | PM_LCurryBrace pmnumberList PM_RCurryBrace PM_newline {
! 44: $$=$2;
! 45: }
! 46: ;
! 47:
! 48: pmlineList
! 49: :
! 50: pmline {
! 51: $$=pmNewListObject($1);
! 52: }
! 53: | pmline pmlineList {
! 54: pmObjectp t;
! 55: t = $2;
! 56: if (t->tag != PMobject_list) {
! 57: fprintf(stderr,"pmlineList: list is broken.");
! 58: $$=$1;
! 59: }else{
! 60: $$=pmCons($1,(struct pmList *)(t->body));
! 61: }
! 62: }
! 63: ;
! 64:
! 65:
! 66: pmdata
! 67: :
! 68: PM_keyword PM_newline pmemptyLine {
! 69: printf("polymake.");
! 70: pmPrintObject(stdout,$1);
! 71: printf("();\n");
! 72: }
! 73: | PM_keyword PM_newline pmlineList pmemptyLine {
! 74: printf("polymake.");
! 75: pmPrintObject(stdout,$1);
! 76: printf("(");
! 77: pmPrintObject(stdout,$3); printf(");\n");
! 78: }
! 79: ;
! 80:
! 81:
! 82: pmemptyLine
! 83: :
! 84: PM_emptyLine
! 85: ;
! 86:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>