case 1: # line 123 "grammar.y" { prog = make_prog(yypvt[-3].num, yypvt[-2].args, yypvt[-1].id_list, yypvt[-0].stmt_list); } break; case 2: # line 126 "grammar.y" { yyval.num = 1; } break; case 3: # line 127 "grammar.y" { yyval.num = 0; } break; case 4: # line 130 "grammar.y" { yyval.args = arguments(NULL, NULL); } break; case 5: # line 131 "grammar.y" { yyval.args = arguments(NULL, yypvt[-2].s); } break; case 6: # line 132 "grammar.y" { yyval.args = arguments(yypvt[-1].id_list, NULL); } break; case 7: # line 134 "grammar.y" { yyval.args = arguments(yypvt[-5].id_list, yypvt[-2].s); } break; case 8: # line 137 "grammar.y" { yyval.id_list = NULL; } break; case 9: # line 138 "grammar.y" { yyval.id_list = yypvt[-1].id_list; } break; case 10: # line 141 "grammar.y" { yyval.id_list = id_list(yypvt[-0].s, NULL); } break; case 11: # line 142 "grammar.y" { yyval.id_list = id_list(yypvt[-0].s, yypvt[-2].id_list); } break; case 12: # line 145 "grammar.y" { yyval.id_list = NULL; } break; case 13: # line 146 "grammar.y" { yyval.id_list = yypvt[-0].id_list; } break; case 14: # line 149 "grammar.y" { yyval.id_list = id_list(yypvt[-0].s, NULL); } break; case 15: # line 150 "grammar.y" { yyval.id_list = id_list(yypvt[-0].s, yypvt[-2].id_list); } break; case 16: # line 153 "grammar.y" { yyval.stmt_list = yypvt[-1].stmt_list; } break; case 17: # line 156 "grammar.y" { yyval.stmt_list = NULL; } break; case 18: # line 157 "grammar.y" { yyval.stmt_list = yypvt[-0].stmt_list; } break; case 19: # line 160 "grammar.y" { yyval.stmt_list = stmt_list(yypvt[-0].stmt, NULL); } break; case 20: # line 161 "grammar.y" { yyval.stmt_list = stmt_list(yypvt[-0].stmt, yypvt[-1].stmt_list); } break; case 21: # line 164 "grammar.y" { yyval.stmt = comment_stmt(yypvt[-0].s); } break; case 22: # line 165 "grammar.y" { yyval.stmt = noop_stmt(); } break; case 23: # line 166 "grammar.y" { yyval.stmt = expr_stmt(yypvt[-1].expr); } break; case 24: # line 167 "grammar.y" { yyval.stmt = compound_stmt(yypvt[-0].stmt_list); } break; case 25: # line 168 "grammar.y" { yyval.stmt = yypvt[-0].stmt; } break; case 26: # line 169 "grammar.y" { yyval.stmt = if_else_stmt(yypvt[-2].stmt, yypvt[-0].stmt); } break; case 27: # line 171 "grammar.y" { yyval.stmt = for_range_stmt(yypvt[-6].s, yypvt[-4].expr, yypvt[-2].expr,yypvt[-0].stmt); } break; case 28: # line 172 "grammar.y" { yyval.stmt = for_list_stmt(yypvt[-4].s, yypvt[-2].expr, yypvt[-0].stmt); } break; case 29: # line 173 "grammar.y" { yyval.stmt = while_stmt(yypvt[-2].expr, yypvt[-0].stmt); } break; case 30: # line 174 "grammar.y" { yyval.stmt = switch_stmt(yypvt[-2].expr, yypvt[-0].case_list); } break; case 31: # line 175 "grammar.y" { yyval.stmt = break_stmt(); } break; case 32: # line 176 "grammar.y" { yyval.stmt = continue_stmt(); } break; case 33: # line 177 "grammar.y" { yyval.stmt = return_stmt(); } break; case 34: # line 178 "grammar.y" { yyval.stmt = return_expr_stmt(yypvt[-1].expr); } break; case 35: # line 180 "grammar.y" { yyval.stmt = catch_stmt(yypvt[-1].id_list, yypvt[-0].stmt, NULL); } break; case 36: # line 182 "grammar.y" { yyval.stmt = catch_stmt(yypvt[-4].id_list, yypvt[-3].stmt, yypvt[-0].stmt); } break; case 37: # line 183 "grammar.y" { yyerrok; yyval.stmt = NULL; } break; case 38: # line 186 "grammar.y" { yyval.stmt = if_stmt(yypvt[-2].expr, yypvt[-0].stmt); } break; case 39: # line 189 "grammar.y" { yyval.s = yypvt[-1].s; } break; case 40: # line 192 "grammar.y" { yyval.case_list = NULL; } break; case 41: # line 193 "grammar.y" { yyval.case_list = yypvt[-1].case_list; } break; case 42: # line 196 "grammar.y" { yyval.case_list = case_list(yypvt[-0].case_entry, NULL); } break; case 43: # line 197 "grammar.y" { yyval.case_list = case_list(yypvt[-0].case_entry, yypvt[-1].case_list); } break; case 44: # line 200 "grammar.y" { yyval.case_entry = case_entry(yypvt[-2].expr_list, yypvt[-0].stmt_list); } break; case 45: # line 201 "grammar.y" { yyval.case_entry = case_entry(NULL, yypvt[-0].stmt_list); } break; case 46: # line 204 "grammar.y" { yyval.expr = integer_expr(yypvt[-0].num); } break; case 47: # line 205 "grammar.y" { yyval.expr = string_expr(yypvt[-0].s); } break; case 48: # line 206 "grammar.y" { yyval.expr = dbref_expr(yypvt[-0].num); } break; case 49: # line 207 "grammar.y" { yyval.expr = symbol_expr(yypvt[-0].s); } break; case 50: # line 208 "grammar.y" { yyval.expr = error_expr(yypvt[-0].s); } break; case 51: # line 209 "grammar.y" { yyval.expr = name_expr(yypvt[-0].s); } break; case 52: # line 210 "grammar.y" { yyval.expr = var_expr(yypvt[-0].s); } break; case 53: # line 211 "grammar.y" { yyval.expr = function_call_expr(yypvt[-3].s, yypvt[-1].expr_list); } break; case 54: # line 212 "grammar.y" { yyval.expr = assign_expr(yypvt[-2].s, yypvt[-0].expr); } break; case 55: # line 213 "grammar.y" { yyval.expr = pass_expr(yypvt[-1].expr_list); } break; case 56: # line 214 "grammar.y" { yyval.expr = message_expr(yypvt[-5].expr, yypvt[-3].s, yypvt[-1].expr_list); } break; case 57: # line 215 "grammar.y" { yyval.expr = message_expr(NULL, yypvt[-3].s, yypvt[-1].expr_list); } break; case 58: # line 217 "grammar.y" { yyval.expr = expr_message_expr(yypvt[-7].expr, yypvt[-4].expr, yypvt[-1].expr_list); } break; case 59: # line 219 "grammar.y" { yyval.expr = expr_message_expr(NULL, yypvt[-4].expr, yypvt[-1].expr_list); } break; case 60: # line 220 "grammar.y" { yyval.expr = list_expr(yypvt[-1].expr_list); } break; case 61: # line 221 "grammar.y" { yyval.expr = dict_expr(yypvt[-1].expr_list); } break; case 62: # line 222 "grammar.y" { yyval.expr = buffer_expr(yypvt[-1].expr_list); } break; case 63: # line 223 "grammar.y" { yyval.expr = frob_expr(yypvt[-3].expr, yypvt[-1].expr); } break; case 64: # line 224 "grammar.y" { yyval.expr = index_expr(yypvt[-3].expr, yypvt[-1].expr); } break; case 65: # line 225 "grammar.y" { yyval.expr = unary_expr('!', yypvt[-0].expr); } break; case 66: # line 226 "grammar.y" { yyval.expr = unary_expr(NEG, yypvt[-0].expr); } break; case 67: # line 227 "grammar.y" { yyval.expr = yypvt[-0].expr; } break; case 68: # line 228 "grammar.y" { yyval.expr = binary_expr('*', yypvt[-2].expr, yypvt[-0].expr); } break; case 69: # line 229 "grammar.y" { yyval.expr = binary_expr('/', yypvt[-2].expr, yypvt[-0].expr); } break; case 70: # line 230 "grammar.y" { yyval.expr = binary_expr('%', yypvt[-2].expr, yypvt[-0].expr); } break; case 71: # line 231 "grammar.y" { yyval.expr = binary_expr('+', yypvt[-2].expr, yypvt[-0].expr); } break; case 72: # line 232 "grammar.y" { yyval.expr = binary_expr('-', yypvt[-2].expr, yypvt[-0].expr); } break; case 73: # line 233 "grammar.y" { yyval.expr = binary_expr(EQ, yypvt[-2].expr, yypvt[-0].expr); } break; case 74: # line 234 "grammar.y" { yyval.expr = binary_expr(NE, yypvt[-2].expr, yypvt[-0].expr); } break; case 75: # line 235 "grammar.y" { yyval.expr = binary_expr('>', yypvt[-2].expr, yypvt[-0].expr); } break; case 76: # line 236 "grammar.y" { yyval.expr = binary_expr(GE, yypvt[-2].expr, yypvt[-0].expr); } break; case 77: # line 237 "grammar.y" { yyval.expr = binary_expr('<', yypvt[-2].expr, yypvt[-0].expr); } break; case 78: # line 238 "grammar.y" { yyval.expr = binary_expr(LE, yypvt[-2].expr, yypvt[-0].expr); } break; case 79: # line 239 "grammar.y" { yyval.expr = binary_expr(IN, yypvt[-2].expr, yypvt[-0].expr); } break; case 80: # line 240 "grammar.y" { yyval.expr = and_expr(yypvt[-2].expr, yypvt[-0].expr); } break; case 81: # line 241 "grammar.y" { yyval.expr = or_expr(yypvt[-2].expr, yypvt[-0].expr); } break; case 82: # line 242 "grammar.y" { yyval.expr = cond_expr(yypvt[-4].expr, yypvt[-2].expr, yypvt[-0].expr); } break; case 83: # line 243 "grammar.y" { yyval.expr = yypvt[-1].expr; } break; case 84: # line 244 "grammar.y" { yyval.expr = critical_expr(yypvt[-1].expr); } break; case 85: # line 245 "grammar.y" { yyval.expr = propagate_expr(yypvt[-1].expr); } break; case 86: # line 248 "grammar.y" { yyval.expr = yypvt[-0].expr; } break; case 87: # line 249 "grammar.y" { yyval.expr = splice_expr(yypvt[-0].expr); } break; case 88: # line 252 "grammar.y" { yyval.expr_list = NULL; } break; case 89: # line 253 "grammar.y" { yyval.expr_list = yypvt[-0].expr_list; } break; case 90: # line 256 "grammar.y" { yyval.expr_list = expr_list(yypvt[-0].expr, NULL); } break; case 91: # line 257 "grammar.y" { yyval.expr_list = expr_list(yypvt[-0].expr, yypvt[-2].expr_list); } break; case 92: # line 260 "grammar.y" { yyval.expr = yypvt[-0].expr; } break; case 93: # line 261 "grammar.y" { yyval.expr = range_expr(yypvt[-2].expr, yypvt[-0].expr); } break; case 94: # line 264 "grammar.y" { yyval.expr_list = expr_list(yypvt[-0].expr, NULL); } break; case 95: # line 265 "grammar.y" { yyval.expr_list = expr_list(yypvt[-0].expr, yypvt[-2].expr_list); } break;