Changeset f0e7c4 in git
- Timestamp:
- Nov 6, 2014, 4:16:10 PM (9 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- fe24d605f70f42e77d679a658b67497779c85ae7
- Parents:
- ab2a184b8cf5167647764d9855d5da8e35eaa258
- Location:
- Singular
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/grammar.cc
rab2a18 rf0e7c4 2 2 3 3 /* Skeleton implementation for Bison's Yacc-like parsers in C 4 4 5 5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 6 6 2009, 2010 Free Software Foundation, Inc. 7 7 8 8 This program is free software: you can redistribute it and/or modify 9 9 it under the terms of the GNU General Public License as published by 10 10 the Free Software Foundation, either version 3 of the License, or 11 11 (at your option) any later version. 12 12 13 13 This program is distributed in the hope that it will be useful, 14 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 16 GNU General Public License for more details. 17 17 18 18 You should have received a copy of the GNU General Public License 19 19 along with this program. If not, see <http://www.gnu.org/licenses/>. */ … … 28 28 Bison output files to be licensed under the GNU General Public 29 29 License without this special exception. 30 30 31 31 This special exception was added by the Free Software Foundation in 32 32 version 2.2 of Bison. */ … … 799 799 597, 601, 605, 609, 613, 617, 621, 625, 629, 633, 800 800 637, 641, 645, 649, 653, 657, 661, 665, 669, 673, 801 677, 68 1, 685, 689, 693, 697, 704, 715, 721, 726,802 72 7, 728, 732, 736, 740, 744, 748, 752, 756, 760,803 76 4, 781, 788, 787, 805, 813, 821, 830, 834, 838,804 84 2, 846, 850, 854, 858, 862, 866, 870, 874, 878,805 89 0, 897, 898, 917, 918, 930, 935, 940, 944, 948,806 9 88, 1014, 1035, 1043, 1047, 1048, 1062, 1070, 1079, 1124,807 112 5, 1134, 1135, 1141, 1148, 1150, 1152, 1162, 1161, 1169,808 117 4, 1181, 1189, 1201, 1217, 1236, 1240, 1244, 1249, 1253,809 125 7, 1261, 1265, 1270, 1276, 1282, 1288, 1294, 1300, 1306,810 13 18, 1325, 1329, 1366, 1373, 1381, 1387, 1387, 1390, 1462,811 146 6, 1495, 1508, 1525, 1534, 1539, 1547, 1559, 1578, 1588,812 160 7, 1630, 1636, 1648, 1654801 677, 683, 687, 691, 695, 699, 706, 717, 723, 728, 802 729, 730, 734, 738, 742, 746, 750, 754, 758, 762, 803 766, 783, 790, 789, 807, 815, 823, 832, 836, 840, 804 844, 848, 852, 856, 860, 864, 868, 872, 876, 880, 805 892, 899, 900, 919, 920, 932, 937, 942, 946, 950, 806 990, 1016, 1037, 1045, 1049, 1050, 1064, 1072, 1081, 1126, 807 1127, 1136, 1137, 1143, 1150, 1152, 1154, 1164, 1163, 1171, 808 1176, 1183, 1191, 1203, 1219, 1238, 1242, 1246, 1251, 1255, 809 1259, 1263, 1267, 1272, 1278, 1284, 1290, 1296, 1302, 1308, 810 1320, 1327, 1331, 1368, 1375, 1383, 1389, 1389, 1392, 1464, 811 1468, 1497, 1510, 1527, 1536, 1541, 1549, 1561, 1580, 1590, 812 1609, 1632, 1638, 1650, 1656 813 813 }; 814 814 #endif … … 2911 2911 #line 678 "grammar.y" 2912 2912 { 2913 if(iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR; 2913 int b=iiExprArithM(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i)); // handle branchTo 2914 if (b==TRUE) YYERROR; 2915 if (b==2) YYACCEPT; 2914 2916 ;} 2915 2917 break; … … 2918 2920 2919 2921 /* Line 1464 of yacc.c */ 2920 #line 68 2"grammar.y"2922 #line 684 "grammar.y" 2921 2923 { 2922 2924 if(iiExprArith3(&(yyval.lv),(yyvsp[(1) - (8)].i),&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR; … … 2927 2929 2928 2930 /* Line 1464 of yacc.c */ 2929 #line 68 6"grammar.y"2931 #line 688 "grammar.y" 2930 2932 { 2931 2933 if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),(yyvsp[(1) - (4)].i))) YYERROR; … … 2936 2938 2937 2939 /* Line 1464 of yacc.c */ 2938 #line 69 0"grammar.y"2940 #line 692 "grammar.y" 2939 2941 { 2940 2942 if(iiExprArith3(&(yyval.lv),RING_CMD,&(yyvsp[(3) - (8)].lv),&(yyvsp[(5) - (8)].lv),&(yyvsp[(7) - (8)].lv))) YYERROR; … … 2945 2947 2946 2948 /* Line 1464 of yacc.c */ 2947 #line 69 4"grammar.y"2949 #line 696 "grammar.y" 2948 2950 { 2949 2951 if(iiExprArith1(&(yyval.lv),&(yyvsp[(3) - (4)].lv),RING_CMD)) YYERROR; … … 2954 2956 2955 2957 /* Line 1464 of yacc.c */ 2956 #line 698"grammar.y"2958 #line 700 "grammar.y" 2957 2959 { 2958 2960 if (iiARROW(&(yyval.lv),(yyvsp[(1) - (3)].name),(yyvsp[(3) - (3)].name))) YYERROR; … … 2963 2965 2964 2966 /* Line 1464 of yacc.c */ 2965 #line 70 5"grammar.y"2967 #line 707 "grammar.y" 2966 2968 { 2967 2969 leftv v = &(yyvsp[(1) - (3)].lv); … … 2979 2981 2980 2982 /* Line 1464 of yacc.c */ 2981 #line 71 6"grammar.y"2983 #line 718 "grammar.y" 2982 2984 { 2983 2985 (yyval.lv) = (yyvsp[(1) - (1)].lv); … … 2988 2990 2989 2991 /* Line 1464 of yacc.c */ 2990 #line 72 2"grammar.y"2992 #line 724 "grammar.y" 2991 2993 { 2992 2994 /*if ($1.typ == eunknown) YYERROR;*/ … … 2998 3000 2999 3001 /* Line 1464 of yacc.c */ 3000 #line 72 6"grammar.y"3002 #line 728 "grammar.y" 3001 3003 { (yyval.lv) = (yyvsp[(1) - (1)].lv); ;} 3002 3004 break; … … 3005 3007 3006 3008 /* Line 1464 of yacc.c */ 3007 #line 72 7"grammar.y"3009 #line 729 "grammar.y" 3008 3010 { (yyval.lv) = (yyvsp[(2) - (3)].lv); ;} 3009 3011 break; … … 3012 3014 3013 3015 /* Line 1464 of yacc.c */ 3014 #line 7 29"grammar.y"3016 #line 731 "grammar.y" 3015 3017 { 3016 3018 if(iiExprArith3(&(yyval.lv),'[',&(yyvsp[(1) - (6)].lv),&(yyvsp[(3) - (6)].lv),&(yyvsp[(5) - (6)].lv))) YYERROR; … … 3021 3023 3022 3024 /* Line 1464 of yacc.c */ 3023 #line 73 3"grammar.y"3025 #line 735 "grammar.y" 3024 3026 { 3025 3027 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (4)].lv),'[',&(yyvsp[(3) - (4)].lv))) YYERROR; … … 3030 3032 3031 3033 /* Line 1464 of yacc.c */ 3032 #line 73 7"grammar.y"3034 #line 739 "grammar.y" 3033 3035 { 3034 3036 if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR; … … 3039 3041 3040 3042 /* Line 1464 of yacc.c */ 3041 #line 74 1"grammar.y"3043 #line 743 "grammar.y" 3042 3044 { 3043 3045 if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR; … … 3048 3050 3049 3051 /* Line 1464 of yacc.c */ 3050 #line 74 5"grammar.y"3052 #line 747 "grammar.y" 3051 3053 { 3052 3054 if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR; … … 3057 3059 3058 3060 /* Line 1464 of yacc.c */ 3059 #line 7 49"grammar.y"3061 #line 751 "grammar.y" 3060 3062 { 3061 3063 if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR; … … 3066 3068 3067 3069 /* Line 1464 of yacc.c */ 3068 #line 75 3"grammar.y"3070 #line 755 "grammar.y" 3069 3071 { 3070 3072 if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), (yyvsp[(5) - (6)].i), NULL)) YYERROR; … … 3075 3077 3076 3078 /* Line 1464 of yacc.c */ 3077 #line 75 7"grammar.y"3079 #line 759 "grammar.y" 3078 3080 { 3079 3081 if (iiApply(&(yyval.lv), &(yyvsp[(3) - (6)].lv), 0, &(yyvsp[(5) - (6)].lv))) YYERROR; … … 3084 3086 3085 3087 /* Line 1464 of yacc.c */ 3086 #line 76 1"grammar.y"3088 #line 763 "grammar.y" 3087 3089 { 3088 3090 (yyval.lv)=(yyvsp[(2) - (3)].lv); … … 3093 3095 3094 3096 /* Line 1464 of yacc.c */ 3095 #line 76 5"grammar.y"3097 #line 767 "grammar.y" 3096 3098 { 3097 3099 #ifdef SIQ … … 3115 3117 3116 3118 /* Line 1464 of yacc.c */ 3117 #line 78 2"grammar.y"3119 #line 784 "grammar.y" 3118 3120 { 3119 3121 iiTestAssume(&(yyvsp[(2) - (5)].lv),&(yyvsp[(4) - (5)].lv)); … … 3126 3128 3127 3129 /* Line 1464 of yacc.c */ 3128 #line 7 88"grammar.y"3130 #line 790 "grammar.y" 3129 3131 { 3130 3132 #ifdef SIQ … … 3137 3139 3138 3140 /* Line 1464 of yacc.c */ 3139 #line 79 4"grammar.y"3141 #line 796 "grammar.y" 3140 3142 { 3141 3143 #ifdef SIQ … … 3152 3154 3153 3155 /* Line 1464 of yacc.c */ 3154 #line 80 6"grammar.y"3156 #line 808 "grammar.y" 3155 3157 { 3156 3158 #ifdef SIQ … … 3163 3165 3164 3166 /* Line 1464 of yacc.c */ 3165 #line 81 4"grammar.y"3167 #line 816 "grammar.y" 3166 3168 { 3167 3169 #ifdef SIQ … … 3174 3176 3175 3177 /* Line 1464 of yacc.c */ 3176 #line 82 2"grammar.y"3178 #line 824 "grammar.y" 3177 3179 { 3178 3180 #ifdef SIQ … … 3185 3187 3186 3188 /* Line 1464 of yacc.c */ 3187 #line 83 1"grammar.y"3189 #line 833 "grammar.y" 3188 3190 { 3189 3191 if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),PLUSPLUS)) YYERROR; … … 3194 3196 3195 3197 /* Line 1464 of yacc.c */ 3196 #line 83 5"grammar.y"3198 #line 837 "grammar.y" 3197 3199 { 3198 3200 if(iiExprArith1(&(yyval.lv),&(yyvsp[(1) - (2)].lv),MINUSMINUS)) YYERROR; … … 3203 3205 3204 3206 /* Line 1464 of yacc.c */ 3205 #line 8 39"grammar.y"3207 #line 841 "grammar.y" 3206 3208 { 3207 3209 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'+',&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3212 3214 3213 3215 /* Line 1464 of yacc.c */ 3214 #line 84 3"grammar.y"3216 #line 845 "grammar.y" 3215 3217 { 3216 3218 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'-',&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3221 3223 3222 3224 /* Line 1464 of yacc.c */ 3223 #line 84 7"grammar.y"3225 #line 849 "grammar.y" 3224 3226 { 3225 3227 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3230 3232 3231 3233 /* Line 1464 of yacc.c */ 3232 #line 85 1"grammar.y"3234 #line 853 "grammar.y" 3233 3235 { 3234 3236 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),'^',&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3239 3241 3240 3242 /* Line 1464 of yacc.c */ 3241 #line 85 5"grammar.y"3243 #line 857 "grammar.y" 3242 3244 { 3243 3245 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3248 3250 3249 3251 /* Line 1464 of yacc.c */ 3250 #line 8 59"grammar.y"3252 #line 861 "grammar.y" 3251 3253 { 3252 3254 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),(yyvsp[(2) - (3)].i),&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3257 3259 3258 3260 /* Line 1464 of yacc.c */ 3259 #line 86 3"grammar.y"3261 #line 865 "grammar.y" 3260 3262 { 3261 3263 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),NOTEQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3266 3268 3267 3269 /* Line 1464 of yacc.c */ 3268 #line 86 7"grammar.y"3270 #line 869 "grammar.y" 3269 3271 { 3270 3272 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),EQUAL_EQUAL,&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3275 3277 3276 3278 /* Line 1464 of yacc.c */ 3277 #line 87 1"grammar.y"3279 #line 873 "grammar.y" 3278 3280 { 3279 3281 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),DOTDOT,&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3284 3286 3285 3287 /* Line 1464 of yacc.c */ 3286 #line 87 5"grammar.y"3288 #line 877 "grammar.y" 3287 3289 { 3288 3290 if(iiExprArith2(&(yyval.lv),&(yyvsp[(1) - (3)].lv),':',&(yyvsp[(3) - (3)].lv))) YYERROR; … … 3293 3295 3294 3296 /* Line 1464 of yacc.c */ 3295 #line 8 79"grammar.y"3297 #line 881 "grammar.y" 3296 3298 { 3297 3299 if (siq>0) … … 3310 3312 3311 3313 /* Line 1464 of yacc.c */ 3312 #line 89 1"grammar.y"3314 #line 893 "grammar.y" 3313 3315 { 3314 3316 if(iiExprArith1(&(yyval.lv),&(yyvsp[(2) - (2)].lv),'-')) YYERROR; … … 3319 3321 3320 3322 /* Line 1464 of yacc.c */ 3321 #line 89 7"grammar.y"3323 #line 899 "grammar.y" 3322 3324 { (yyval.lv) = (yyvsp[(1) - (2)].lv); ;} 3323 3325 break; … … 3326 3328 3327 3329 /* Line 1464 of yacc.c */ 3328 #line 899"grammar.y"3330 #line 901 "grammar.y" 3329 3331 { 3330 3332 if ((yyvsp[(1) - (2)].lv).rtyp==0) … … 3346 3348 3347 3349 /* Line 1464 of yacc.c */ 3348 #line 9 19"grammar.y"3350 #line 921 "grammar.y" 3349 3351 { 3350 3352 if ((yyvsp[(2) - (3)].lv).Typ()!=STRING_CMD) … … 3360 3362 3361 3363 /* Line 1464 of yacc.c */ 3362 #line 93 1"grammar.y"3364 #line 933 "grammar.y" 3363 3365 { 3364 3366 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot))) … … 3370 3372 3371 3373 /* Line 1464 of yacc.c */ 3372 #line 93 6"grammar.y"3374 #line 938 "grammar.y" 3373 3375 { 3374 3376 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot))) … … 3380 3382 3381 3383 /* Line 1464 of yacc.c */ 3382 #line 94 1"grammar.y"3384 #line 943 "grammar.y" 3383 3385 { 3384 3386 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR; … … 3389 3391 3390 3392 /* Line 1464 of yacc.c */ 3391 #line 94 5"grammar.y"3393 #line 947 "grammar.y" 3392 3394 { 3393 3395 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&(currRing->idroot), TRUE)) YYERROR; … … 3398 3400 3399 3401 /* Line 1464 of yacc.c */ 3400 #line 9 49"grammar.y"3402 #line 951 "grammar.y" 3401 3403 { 3402 3404 int r; TESTSETINT((yyvsp[(4) - (8)].lv),r); … … 3443 3445 3444 3446 /* Line 1464 of yacc.c */ 3445 #line 9 89"grammar.y"3447 #line 991 "grammar.y" 3446 3448 { 3447 3449 if ((yyvsp[(1) - (2)].i) == MATRIX_CMD) … … 3474 3476 3475 3477 /* Line 1464 of yacc.c */ 3476 #line 101 5"grammar.y"3478 #line 1017 "grammar.y" 3477 3479 { 3478 3480 int t=(yyvsp[(1) - (3)].lv).Typ(); … … 3500 3502 3501 3503 /* Line 1464 of yacc.c */ 3502 #line 103 6"grammar.y"3504 #line 1038 "grammar.y" 3503 3505 { 3504 3506 if (iiDeclCommand(&(yyval.lv),&(yyvsp[(2) - (2)].lv),myynest,(yyvsp[(1) - (2)].i),&((yyvsp[(2) - (2)].lv).req_packhdl->idroot))) … … 3510 3512 3511 3513 /* Line 1464 of yacc.c */ 3512 #line 10 49"grammar.y"3514 #line 1051 "grammar.y" 3513 3515 { 3514 3516 leftv v = &(yyvsp[(2) - (5)].lv); … … 3526 3528 3527 3529 /* Line 1464 of yacc.c */ 3528 #line 106 3"grammar.y"3530 #line 1065 "grammar.y" 3529 3531 { 3530 3532 // let rInit take care of any errors … … 3536 3538 3537 3539 /* Line 1464 of yacc.c */ 3538 #line 107 1"grammar.y"3540 #line 1073 "grammar.y" 3539 3541 { 3540 3542 memset(&(yyval.lv),0,sizeof((yyval.lv))); … … 3550 3552 3551 3553 /* Line 1464 of yacc.c */ 3552 #line 108 0"grammar.y"3554 #line 1082 "grammar.y" 3553 3555 { 3554 3556 memset(&(yyval.lv),0,sizeof((yyval.lv))); … … 3597 3599 3598 3600 /* Line 1464 of yacc.c */ 3599 #line 112 6"grammar.y"3601 #line 1128 "grammar.y" 3600 3602 { 3601 3603 (yyval.lv) = (yyvsp[(1) - (3)].lv); … … 3608 3610 3609 3611 /* Line 1464 of yacc.c */ 3610 #line 113 6"grammar.y"3612 #line 1138 "grammar.y" 3611 3613 { 3612 3614 (yyval.lv) = (yyvsp[(2) - (3)].lv); … … 3617 3619 3618 3620 /* Line 1464 of yacc.c */ 3619 #line 114 2"grammar.y"3621 #line 1144 "grammar.y" 3620 3622 { 3621 3623 expected_parms = TRUE; … … 3624 3626 3625 3627 case 124: 3626 3627 /* Line 1464 of yacc.c */3628 #line 1149 "grammar.y"3629 { (yyval.i) = (yyvsp[(1) - (1)].i); ;}3630 break;3631 3632 case 125:3633 3628 3634 3629 /* Line 1464 of yacc.c */ … … 3637 3632 break; 3638 3633 3639 case 12 6:3634 case 125: 3640 3635 3641 3636 /* Line 1464 of yacc.c */ … … 3644 3639 break; 3645 3640 3641 case 126: 3642 3643 /* Line 1464 of yacc.c */ 3644 #line 1155 "grammar.y" 3645 { (yyval.i) = (yyvsp[(1) - (1)].i); ;} 3646 break; 3647 3646 3648 case 127: 3647 3649 3648 3650 /* Line 1464 of yacc.c */ 3649 #line 116 2"grammar.y"3651 #line 1164 "grammar.y" 3650 3652 { if ((yyvsp[(1) - (2)].i) != '<') YYERROR; 3651 3653 if((feFilePending=feFopen((yyvsp[(2) - (2)].name),"r",NULL,TRUE))==NULL) YYERROR; ;} … … 3655 3657 3656 3658 /* Line 1464 of yacc.c */ 3657 #line 116 5"grammar.y"3659 #line 1167 "grammar.y" 3658 3660 { newFile((yyvsp[(2) - (4)].name),feFilePending); ;} 3659 3661 break; … … 3662 3664 3663 3665 /* Line 1464 of yacc.c */ 3664 #line 117 0"grammar.y"3666 #line 1172 "grammar.y" 3665 3667 { 3666 3668 feHelp((yyvsp[(2) - (3)].name)); … … 3672 3674 3673 3675 /* Line 1464 of yacc.c */ 3674 #line 117 5"grammar.y"3676 #line 1177 "grammar.y" 3675 3677 { 3676 3678 feHelp(NULL); … … 3681 3683 3682 3684 /* Line 1464 of yacc.c */ 3683 #line 118 2"grammar.y"3685 #line 1184 "grammar.y" 3684 3686 { 3685 3687 singular_example((yyvsp[(2) - (3)].name)); … … 3691 3693 3692 3694 /* Line 1464 of yacc.c */ 3693 #line 119 0"grammar.y"3695 #line 1192 "grammar.y" 3694 3696 { 3695 3697 if (basePack!=(yyvsp[(2) - (2)].lv).req_packhdl) … … 3705 3707 3706 3708 /* Line 1464 of yacc.c */ 3707 #line 120 2"grammar.y"3709 #line 1204 "grammar.y" 3708 3710 { 3709 3711 leftv v=&(yyvsp[(2) - (2)].lv); … … 3726 3728 3727 3729 /* Line 1464 of yacc.c */ 3728 #line 12 18"grammar.y"3730 #line 1220 "grammar.y" 3729 3731 { 3730 3732 leftv v=&(yyvsp[(3) - (3)].lv); … … 3747 3749 3748 3750 /* Line 1464 of yacc.c */ 3749 #line 123 7"grammar.y"3751 #line 1239 "grammar.y" 3750 3752 { 3751 3753 list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE); … … 3756 3758 3757 3759 /* Line 1464 of yacc.c */ 3758 #line 124 1"grammar.y"3760 #line 1243 "grammar.y" 3759 3761 { 3760 3762 list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE); … … 3765 3767 3766 3768 /* Line 1464 of yacc.c */ 3767 #line 124 5"grammar.y"3769 #line 1247 "grammar.y" 3768 3770 { 3769 3771 if ((yyvsp[(3) - (4)].i)==QRING_CMD) (yyvsp[(3) - (4)].i)=RING_CMD; … … 3775 3777 3776 3778 /* Line 1464 of yacc.c */ 3777 #line 125 0"grammar.y"3779 #line 1252 "grammar.y" 3778 3780 { 3779 3781 list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE); … … 3784 3786 3785 3787 /* Line 1464 of yacc.c */ 3786 #line 125 4"grammar.y"3788 #line 1256 "grammar.y" 3787 3789 { 3788 3790 list_cmd(RING_CMD,NULL,"// ",TRUE); … … 3793 3795 3794 3796 /* Line 1464 of yacc.c */ 3795 #line 12 58"grammar.y"3797 #line 1260 "grammar.y" 3796 3798 { 3797 3799 list_cmd((yyvsp[(3) - (4)].i),NULL,"// ",TRUE); … … 3802 3804 3803 3805 /* Line 1464 of yacc.c */ 3804 #line 126 2"grammar.y"3806 #line 1264 "grammar.y" 3805 3807 { 3806 3808 list_cmd(PROC_CMD,NULL,"// ",TRUE); … … 3811 3813 3812 3814 /* Line 1464 of yacc.c */ 3813 #line 126 6"grammar.y"3815 #line 1268 "grammar.y" 3814 3816 { 3815 3817 list_cmd(0,(yyvsp[(3) - (4)].lv).Fullname(),"// ",TRUE); … … 3821 3823 3822 3824 /* Line 1464 of yacc.c */ 3823 #line 127 1"grammar.y"3825 #line 1273 "grammar.y" 3824 3826 { 3825 3827 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3832 3834 3833 3835 /* Line 1464 of yacc.c */ 3834 #line 127 7"grammar.y"3836 #line 1279 "grammar.y" 3835 3837 { 3836 3838 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3843 3845 3844 3846 /* Line 1464 of yacc.c */ 3845 #line 128 3"grammar.y"3847 #line 1285 "grammar.y" 3846 3848 { 3847 3849 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3854 3856 3855 3857 /* Line 1464 of yacc.c */ 3856 #line 12 89"grammar.y"3858 #line 1291 "grammar.y" 3857 3859 { 3858 3860 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3865 3867 3866 3868 /* Line 1464 of yacc.c */ 3867 #line 129 5"grammar.y"3869 #line 1297 "grammar.y" 3868 3870 { 3869 3871 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3876 3878 3877 3879 /* Line 1464 of yacc.c */ 3878 #line 130 1"grammar.y"3880 #line 1303 "grammar.y" 3879 3881 { 3880 3882 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3887 3889 3888 3890 /* Line 1464 of yacc.c */ 3889 #line 130 7"grammar.y"3891 #line 1309 "grammar.y" 3890 3892 { 3891 3893 if((yyvsp[(3) - (6)].lv).Typ() == PACKAGE_CMD) … … 3898 3900 3899 3901 /* Line 1464 of yacc.c */ 3900 #line 13 19"grammar.y"3902 #line 1321 "grammar.y" 3901 3903 { 3902 3904 list_cmd(-1,NULL,"// ",TRUE); … … 3907 3909 3908 3910 /* Line 1464 of yacc.c */ 3909 #line 132 5"grammar.y"3911 #line 1327 "grammar.y" 3910 3912 { yyInRingConstruction = TRUE; ;} 3911 3913 break; … … 3914 3916 3915 3917 /* Line 1464 of yacc.c */ 3916 #line 133 4"grammar.y"3918 #line 1336 "grammar.y" 3917 3919 { 3918 3920 const char *ring_name = (yyvsp[(2) - (8)].lv).name; … … 3952 3954 3953 3955 /* Line 1464 of yacc.c */ 3954 #line 136 7"grammar.y"3956 #line 1369 "grammar.y" 3955 3957 { 3956 3958 const char *ring_name = (yyvsp[(2) - (2)].lv).name; … … 3964 3966 3965 3967 /* Line 1464 of yacc.c */ 3966 #line 137 4"grammar.y"3968 #line 1376 "grammar.y" 3967 3969 { 3968 3970 yyInRingConstruction = FALSE; … … 3974 3976 3975 3977 /* Line 1464 of yacc.c */ 3976 #line 138 2"grammar.y"3978 #line 1384 "grammar.y" 3977 3979 { 3978 3980 if (((yyvsp[(1) - (2)].i)!=LIB_CMD)||(jjLOAD((yyvsp[(2) - (2)].name),TRUE))) YYERROR; … … 3983 3985 3984 3986 /* Line 1464 of yacc.c */ 3985 #line 139 1"grammar.y"3987 #line 1393 "grammar.y" 3986 3988 { 3987 3989 if (((yyvsp[(1) - (2)].i)==KEEPRING_CMD) && (myynest==0)) … … 4057 4059 4058 4060 /* Line 1464 of yacc.c */ 4059 #line 146 3"grammar.y"4061 #line 1465 "grammar.y" 4060 4062 { 4061 4063 type_cmd(&((yyvsp[(2) - (2)].lv))); … … 4066 4068 4067 4069 /* Line 1464 of yacc.c */ 4068 #line 146 7"grammar.y"4070 #line 1469 "grammar.y" 4069 4071 { 4070 4072 //Print("typ is %d, rtyp:%d\n",$1.Typ(),$1.rtyp); … … 4094 4096 4095 4097 /* Line 1464 of yacc.c */ 4096 #line 149 6"grammar.y"4098 #line 1498 "grammar.y" 4097 4099 { 4098 4100 int i; TESTSETINT((yyvsp[(3) - (5)].lv),i); … … 4112 4114 4113 4115 /* Line 1464 of yacc.c */ 4114 #line 15 09"grammar.y"4116 #line 1511 "grammar.y" 4115 4117 { 4116 4118 if (currentVoice->ifsw==1) … … 4134 4136 4135 4137 /* Line 1464 of yacc.c */ 4136 #line 152 6"grammar.y"4138 #line 1528 "grammar.y" 4137 4139 { 4138 4140 int i; TESTSETINT((yyvsp[(3) - (5)].lv),i); … … 4148 4150 4149 4151 /* Line 1464 of yacc.c */ 4150 #line 153 5"grammar.y"4152 #line 1537 "grammar.y" 4151 4153 { 4152 4154 if (exitBuffer(BT_break)) YYERROR; … … 4158 4160 4159 4161 /* Line 1464 of yacc.c */ 4160 #line 154 0"grammar.y"4162 #line 1542 "grammar.y" 4161 4163 { 4162 4164 if (contBuffer(BT_break)) YYERROR; … … 4168 4170 4169 4171 /* Line 1464 of yacc.c */ 4170 #line 15 48"grammar.y"4172 #line 1550 "grammar.y" 4171 4173 { 4172 4174 /* -> if(!$2) break; $3; continue;*/ … … 4182 4184 4183 4185 /* Line 1464 of yacc.c */ 4184 #line 156 0"grammar.y"4186 #line 1562 "grammar.y" 4185 4187 { 4186 4188 /* $2 */ … … 4203 4205 4204 4206 /* Line 1464 of yacc.c */ 4205 #line 15 79"grammar.y"4207 #line 1581 "grammar.y" 4206 4208 { 4207 4209 idhdl h = enterid((yyvsp[(2) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE); … … 4218 4220 4219 4221 /* Line 1464 of yacc.c */ 4220 #line 15 89"grammar.y"4222 #line 1591 "grammar.y" 4221 4223 { 4222 4224 idhdl h = enterid((yyvsp[(1) - (3)].name),myynest,PROC_CMD,&IDROOT,TRUE); … … 4242 4244 4243 4245 /* Line 1464 of yacc.c */ 4244 #line 16 08"grammar.y"4246 #line 1610 "grammar.y" 4245 4247 { 4246 4248 omFree((ADDRESS)(yyvsp[(3) - (4)].name)); … … 4267 4269 4268 4270 /* Line 1464 of yacc.c */ 4269 #line 163 1"grammar.y"4271 #line 1633 "grammar.y" 4270 4272 { 4271 4273 // decl. of type proc p(int i) … … 4278 4280 4279 4281 /* Line 1464 of yacc.c */ 4280 #line 163 7"grammar.y"4282 #line 1639 "grammar.y" 4281 4283 { 4282 4284 // decl. of type proc p(i) … … 4292 4294 4293 4295 /* Line 1464 of yacc.c */ 4294 #line 16 49"grammar.y"4296 #line 1651 "grammar.y" 4295 4297 { 4296 4298 iiRETURNEXPR.Copy(&(yyvsp[(3) - (4)].lv)); … … 4303 4305 4304 4306 /* Line 1464 of yacc.c */ 4305 #line 165 5"grammar.y"4307 #line 1657 "grammar.y" 4306 4308 { 4307 4309 if ((yyvsp[(1) - (3)].i)==RETURN) … … 4317 4319 4318 4320 /* Line 1464 of yacc.c */ 4319 #line 43 18"grammar.cc"4321 #line 4320 "grammar.cc" 4320 4322 default: break; 4321 4323 } -
Singular/grammar.y
rab2a18 rf0e7c4 677 677 | CMD_M '(' exprlist ')' 678 678 { 679 if(iiExprArithM(&$$,&$3,$1)) YYERROR; 679 int b=iiExprArithM(&$$,&$3,$1); // handle branchTo 680 if (b==TRUE) YYERROR; 681 if (b==2) YYACCEPT; 680 682 } 681 683 | mat_cmd '(' expr ',' expr ',' expr ')' -
Singular/iparith.cc
rab2a18 rf0e7c4 8381 8381 { 8382 8382 memset(res,0,sizeof(sleftv)); 8383 BOOLEAN bo; 8383 8384 8384 8385 if (!errorreported) … … 8456 8457 if (traceit&TRACE_CALL) 8457 8458 Print("call %s(... (%d args))\n", iiTwoOps(op),args); 8458 if ( dArithM[i].p(res,a))8459 if ((failed=dArithM[i].p(res,a))==TRUE) 8459 8460 { 8460 8461 break;// leave loop, goto error handling -
Singular/ipshell.cc
rab2a18 rf0e7c4 1174 1174 return iiAssign(p,&tmp); 1175 1175 } 1176 BOOLEAN iiBranchTo(leftv r, leftv args) 1177 { 1178 // <string1...stringN>,<proc> 1179 // known: args!=NULL, l>=1 1180 int l=args->listLength(); 1181 int ll=0; 1182 if (iiCurrArgs!=NULL) ll=iiCurrArgs->listLength(); 1183 if (ll!=(l-1)) return FALSE; 1184 leftv h=args; 1185 short *t=(short*)omAlloc(l*sizeof(short)); 1186 t[0]=l-1; 1187 int b; 1188 int i; 1189 for(i=1;i<l;i++,h=h->next) 1190 { 1191 if (h->Typ()!=STRING_CMD) 1192 { 1193 omFree(t); 1194 Werror("arg %d is not a string",i); 1195 return TRUE; 1196 } 1197 int tt; 1198 b=IsCmd((char *)h->Data(),tt); 1199 if(b) t[i]=tt; 1200 else 1201 { 1202 omFree(t); 1203 Werror("arg %d is not a type name",i); 1204 return TRUE; 1205 } 1206 } 1207 if (h->Typ()!=PROC_CMD) 1208 { 1209 omFree(t); 1210 Werror("last arg is not a proc",i); 1211 return TRUE; 1212 } 1213 b=iiCheckTypes(iiCurrArgs,t,0); 1214 omFree(t); 1215 if (b && (h->rtyp==IDHDL) && (h->e==NULL)) 1216 { 1217 BOOLEAN err; 1218 //Print("branchTo: %s\n",h->Name()); 1219 iiCurrProc=(idhdl)h->data; 1220 err=iiAllStart(IDPROC(iiCurrProc),IDPROC(iiCurrProc)->data.s.body,BT_proc,IDPROC(iiCurrProc)->data.s.body_lineno-(iiCurrArgs==NULL)); 1221 exitBuffer(BT_proc); 1222 if (iiCurrArgs!=NULL) 1223 { 1224 if (!err) Warn("too many arguments for %s",IDID(iiCurrProc)); 1225 iiCurrArgs->CleanUp(); 1226 omFreeBin((ADDRESS)iiCurrArgs, sleftv_bin); 1227 iiCurrArgs=NULL; 1228 } 1229 return 2-err; 1230 } 1231 return FALSE; 1232 } 1176 1233 BOOLEAN iiParameter(leftv p) 1177 1234 { … … 6014 6071 if (t!=ANY_TYPE) 6015 6072 { 6016 if (((t==IDHDL)&&(args->rtyp!=IDHDL)) 6073 if (((t==IDHDL)&&(args->rtyp!=IDHDL)) 6017 6074 || (t!=args->Typ())) 6018 6075 { -
Singular/ipshell.h
rab2a18 rf0e7c4 291 291 int report=0 /// ;in] report error? 292 292 ); 293 #endif 294 293 294 BOOLEAN iiBranchTo(leftv r, leftv args); 295 296 #endif 297 -
Singular/table.h
rab2a18 rf0e7c4 790 790 ,{D(jjBREAK0), BREAKPOINT_CMD, NONE, 0 , ALLOW_PLURAL |ALLOW_RING} 791 791 ,{D(jjBREAK1), BREAKPOINT_CMD, NONE, -2 , ALLOW_PLURAL |ALLOW_RING} 792 ,{D(iiBranchTo), BRANCHTO_CMD, NONE, -2 , ALLOW_PLURAL |ALLOW_RING} 792 793 #ifdef SINGULAR_4_1 793 794 ,{D(jjCALL3ARG), CMATRIX_CMD, CMATRIX_CMD, 3 , ALLOW_PLURAL |ALLOW_RING} … … 862 863 { "bigint", 0, BIGINT_CMD , ROOT_DECL}, 863 864 { "bigintmat", 0, BIGINTMAT_CMD , BIGINTMAT_CMD}, 865 { "branchTo", 0, BRANCHTO_CMD , CMD_M}, 864 866 #ifdef HAVE_PLURAL 865 867 { "bracket", 0, BRACKET_CMD , CMD_2}, … … 900 902 { "else", 0, ELSE_CMD , ELSE_CMD}, 901 903 #ifdef HAVE_PLURAL 902 { "envelope", 0, ENVELOPE_CMD , 904 { "envelope", 0, ENVELOPE_CMD , CMD_1}, 903 905 #endif 904 906 { "eval", 0, EVAL , EVAL}, -
Singular/tok.h
rab2a18 rf0e7c4 40 40 BAREISS_CMD, 41 41 BIGINT_CMD, 42 BRANCHTO_CMD, 42 43 BRACKET_CMD, 43 44 BREAKPOINT_CMD,
Note: See TracChangeset
for help on using the changeset viewer.