[BACK]Return to yy_polymake.y CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan

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>