⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wsgram.c

📁 mms client
💻 C
📖 第 1 页 / 共 5 页
字号:
case 20:#line 212 "wmlscript/wsgram.y"{		    WsCompiler *compiler = (WsCompiler *) pctx;		    /* Meta information for the origin servers.  Show it                     * to the user if requested. */		    if (compiler->params.meta_name_cb)		        (*compiler->params.meta_name_cb)(					yyvsp[0].meta_body->property_name, yyvsp[0].meta_body->content,					yyvsp[0].meta_body->scheme,					compiler->params.meta_name_cb_context);		    /* We do not need the MetaBody anymore. */		    ws_pragma_meta_body_free(compiler, yyvsp[0].meta_body);		;    break;}case 21:#line 230 "wmlscript/wsgram.y"{		    WsCompiler *compiler = (WsCompiler *) pctx;		    /* Meta information HTTP header that should be                     * included to an HTTP response header.  Show it to                     * the user if requested. */		    if (compiler->params.meta_http_equiv_cb)		        (*compiler->params.meta_http_equiv_cb)(				yyvsp[0].meta_body->property_name,				yyvsp[0].meta_body->content,				yyvsp[0].meta_body->scheme,				compiler->params.meta_http_equiv_cb_context);		    /* We do not need the MetaBody anymore. */		    ws_pragma_meta_body_free(compiler, yyvsp[0].meta_body);		;    break;}case 22:#line 250 "wmlscript/wsgram.y"{		    WsBool success;		    WsCompiler *compiler = (WsCompiler *) pctx;		    /* Pass this pragma to the byte-code */		    if (yyvsp[0].meta_body) {		        if (yyvsp[0].meta_body->scheme)		  	    success			  = ws_bc_add_pragma_user_agent_property_and_scheme(						compiler->bc,						yyvsp[0].meta_body->property_name->data,						yyvsp[0].meta_body->property_name->len,						yyvsp[0].meta_body->content->data,						yyvsp[0].meta_body->content->len,						yyvsp[0].meta_body->scheme->data,						yyvsp[0].meta_body->scheme->len);		        else		  	    success = ws_bc_add_pragma_user_agent_property(						compiler->bc,						yyvsp[0].meta_body->property_name->data,						yyvsp[0].meta_body->property_name->len,						yyvsp[0].meta_body->content->data,						yyvsp[0].meta_body->content->len);		        /* Free the MetaBody. */		        ws_pragma_meta_body_free(compiler, yyvsp[0].meta_body);		        if (!success)		  	    ws_error_memory(pctx);		    }		;    break;}case 23:#line 285 "wmlscript/wsgram.y"{ yyval.meta_body = ws_pragma_meta_body(pctx, yyvsp[-1].string, yyvsp[0].string, NULL); ;    break;}case 24:#line 287 "wmlscript/wsgram.y"{ yyval.meta_body = ws_pragma_meta_body(pctx, yyvsp[-2].string, yyvsp[-1].string, yyvsp[0].string); ;    break;}case 30:#line 304 "wmlscript/wsgram.y"{		    char *name = ws_strdup(yyvsp[-5].identifier);		    ws_lexer_free_block(pctx, yyvsp[-5].identifier);		    if (name)		        ws_function(pctx, yyvsp[-7].boolean, name, yylsp[-5].first_line, yyvsp[-3].list, yyvsp[-1].list);		    else		        ws_error_memory(pctx);		;    break;}case 31:#line 317 "wmlscript/wsgram.y"{ yyval.boolean = WS_FALSE; ;    break;}case 32:#line 318 "wmlscript/wsgram.y"{ yyval.boolean = WS_TRUE;  ;    break;}case 33:#line 323 "wmlscript/wsgram.y"{ yyval.list = ws_list_new(pctx); ;    break;}case 37:#line 334 "wmlscript/wsgram.y"{                    char *id;                    WsFormalParm *parm;		    id = ws_f_strdup(((WsCompiler *) pctx)->pool_stree, yyvsp[0].identifier);                    parm = ws_formal_parameter(pctx, yylsp[0].first_line, id);		    ws_lexer_free_block(pctx, yyvsp[0].identifier);		    if (id == NULL || parm == NULL) {		        ws_error_memory(pctx);		        yyval.list = NULL;		    } else {		        yyval.list = ws_list_new(pctx);		        ws_list_append(pctx, yyval.list, parm);		    }		;    break;}case 38:#line 352 "wmlscript/wsgram.y"{                    char *id;                    WsFormalParm *parm;		    id = ws_f_strdup(((WsCompiler *) pctx)->pool_stree, yyvsp[0].identifier);                    parm = ws_formal_parameter(pctx, yylsp[-2].first_line, id);		    ws_lexer_free_block(pctx, yyvsp[0].identifier);		    if (id == NULL || parm == NULL) {		        ws_error_memory(pctx);		        yyval.list = NULL;		    } else		        ws_list_append(pctx, yyvsp[-2].list, parm);		;    break;}case 39:#line 373 "wmlscript/wsgram.y"{		    if (yyvsp[0].list)		        yyval.stmt = ws_stmt_block(pctx, yyvsp[0].list->first_line, yyvsp[0].list->last_line,				           yyvsp[0].list);		    else		        yyval.stmt = NULL;		;    break;}case 41:#line 382 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_empty(pctx, yylsp[0].first_line); ;    break;}case 42:#line 384 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_expr(pctx, yyvsp[-1].expr->line, yyvsp[-1].expr); ;    break;}case 45:#line 388 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_continue(pctx, yylsp[-1].first_line); ;    break;}case 46:#line 390 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_break(pctx, yylsp[-1].first_line); ;    break;}case 48:#line 395 "wmlscript/wsgram.y"{		    yyval.list = yyvsp[-1].list;		    if (yyval.list) {		        yyval.list->first_line = yylsp[-2].first_line;		        yyval.list->last_line = yylsp[0].first_line;		    }		;    break;}case 49:#line 403 "wmlscript/wsgram.y"{		    ws_error_syntax(pctx, yylsp[1].first_line);		    yyval.list = NULL;		;    break;}case 50:#line 411 "wmlscript/wsgram.y"{ yyval.list = ws_list_new(pctx); ;    break;}case 52:#line 417 "wmlscript/wsgram.y"{		    yyval.list = ws_list_new(pctx);		    ws_list_append(pctx, yyval.list, yyvsp[0].stmt);		;    break;}case 53:#line 422 "wmlscript/wsgram.y"{ ws_list_append(pctx, yyvsp[-1].list, yyvsp[0].stmt); ;    break;}case 54:#line 427 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_variable(pctx, yylsp[-2].first_line, yyvsp[-1].list); ;    break;}case 55:#line 429 "wmlscript/wsgram.y"{ ws_error_syntax(pctx, yylsp[0].first_line); ;    break;}case 56:#line 434 "wmlscript/wsgram.y"{		    yyval.list = ws_list_new(pctx);		    ws_list_append(pctx, yyval.list, yyvsp[0].vardec);		;    break;}case 57:#line 439 "wmlscript/wsgram.y"{ ws_list_append(pctx, yyvsp[-2].list, yyvsp[0].vardec); ;    break;}case 58:#line 444 "wmlscript/wsgram.y"{		    char *id = ws_f_strdup(((WsCompiler *) pctx)->pool_stree,					   yyvsp[-1].identifier);		    ws_lexer_free_block(pctx, yyvsp[-1].identifier);		    if (id == NULL) {		        ws_error_memory(pctx);		        yyval.vardec = NULL;		    } else		        yyval.vardec = ws_variable_declaration(pctx, id, yyvsp[0].expr);		;    break;}case 59:#line 459 "wmlscript/wsgram.y"{ yyval.expr = NULL; ;    break;}case 60:#line 461 "wmlscript/wsgram.y"{ yyval.expr = yyvsp[0].expr; ;    break;}case 61:#line 466 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_if(pctx, yylsp[-6].first_line, yyvsp[-4].expr, yyvsp[-2].stmt, yyvsp[0].stmt); ;    break;}case 62:#line 468 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_if(pctx, yylsp[-4].first_line, yyvsp[-2].expr, yyvsp[0].stmt, NULL); ;    break;}case 63:#line 473 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_while(pctx, yylsp[-4].first_line, yyvsp[-2].expr, yyvsp[0].stmt); ;    break;}case 65:#line 480 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_for(pctx, yylsp[-8].first_line, NULL, yyvsp[-6].expr, yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].stmt); ;    break;}case 66:#line 483 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_for(pctx, yylsp[-9].first_line, yyvsp[-6].list, NULL, yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].stmt); ;    break;}case 67:#line 488 "wmlscript/wsgram.y"{ yyval.stmt = ws_stmt_return(pctx, yylsp[-2].first_line, yyvsp[-1].expr); ;    break;}case 68:#line 494 "wmlscript/wsgram.y"{ yyval.expr = NULL; ;    break;}case 71:#line 502 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_comma(pctx, yylsp[-1].first_line, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 73:#line 508 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, '=', yyvsp[0].expr); ;    break;}case 74:#line 510 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tMULA, yyvsp[0].expr); ;    break;}case 75:#line 512 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tDIVA, yyvsp[0].expr); ;    break;}case 76:#line 514 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tREMA, yyvsp[0].expr); ;    break;}case 77:#line 516 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tADDA, yyvsp[0].expr); ;    break;}case 78:#line 518 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tSUBA, yyvsp[0].expr); ;    break;}case 79:#line 520 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tLSHIFTA, yyvsp[0].expr); ;    break;}case 80:#line 522 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tRSSHIFTA, yyvsp[0].expr); ;    break;}case 81:#line 524 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tRSZSHIFTA, yyvsp[0].expr); ;    break;}case 82:#line 526 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tANDA, yyvsp[0].expr); ;    break;}case 83:#line 528 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tXORA, yyvsp[0].expr); ;    break;}case 84:#line 530 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tORA, yyvsp[0].expr); ;    break;}case 85:#line 532 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tIDIVA, yyvsp[0].expr); ;    break;}case 87:#line 538 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_conditional(pctx, yylsp[-3].first_line, yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 89:#line 544 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_logical(pctx, yylsp[-1].first_line, WS_ASM_SCOR, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 91:#line 550 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_logical(pctx, yylsp[-1].first_line, WS_ASM_SCAND, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 93:#line 556 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_B_OR, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 95:#line 562 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_B_XOR, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 97:#line 568 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_B_AND, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 99:#line 574 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_EQ, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 100:#line 576 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_NE, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 102:#line 582 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_LT, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 103:#line 584 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_GT, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 104:#line 586 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_LE, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 105:#line 588 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_GE, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 107:#line 594 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_B_LSHIFT, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 108:#line 596 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_B_RSSHIFT, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}case 109:#line 598 "wmlscript/wsgram.y"{ yyval.expr = ws_expr_binary(pctx, yylsp[-1].first_line, WS_ASM_B_RSZSHIFT, yyvsp[-2].expr, yyvsp[0].expr); ;    break;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -