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

📄 wsgram.c

📁 The Kannel Open Source WAP and SMS gateway works as both an SMS gateway, for implementing keyword b
💻 C
📖 第 1 页 / 共 5 页
字号:
		    if (!ws_bc_add_pragma_access_domain(compiler->bc, yyvsp[-2].string->data,						        yyvsp[-2].string->len))		        success = WS_FALSE;		    if (!ws_bc_add_pragma_access_path(compiler->bc, yyvsp[0].string->data,						      yyvsp[0].string->len))		        success = WS_FALSE;		    if (!success)		        ws_error_memory(pctx);		    ws_lexer_free_utf8(compiler, yyvsp[-2].string);		    ws_lexer_free_utf8(compiler, yyvsp[0].string);		}    break;  case 21:#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 22:#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 23:#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 24:#line 285 "wmlscript/wsgram.y"    { yyval.meta_body = ws_pragma_meta_body(pctx, yyvsp[-1].string, yyvsp[0].string, NULL); }    break;  case 25:#line 287 "wmlscript/wsgram.y"    { yyval.meta_body = ws_pragma_meta_body(pctx, yyvsp[-2].string, yyvsp[-1].string, yyvsp[0].string); }    break;  case 31:#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 32:#line 317 "wmlscript/wsgram.y"    { yyval.boolean = WS_FALSE; }    break;  case 33:#line 318 "wmlscript/wsgram.y"    { yyval.boolean = WS_TRUE;  }    break;  case 34:#line 323 "wmlscript/wsgram.y"    { yyval.list = ws_list_new(pctx); }    break;  case 38:#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 39:#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 40:#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 42:#line 382 "wmlscript/wsgram.y"    { yyval.stmt = ws_stmt_empty(pctx, yylsp[0].first_line); }    break;  case 43:#line 384 "wmlscript/wsgram.y"    { yyval.stmt = ws_stmt_expr(pctx, yyvsp[-1].expr->line, yyvsp[-1].expr); }    break;  case 46:#line 388 "wmlscript/wsgram.y"    { yyval.stmt = ws_stmt_continue(pctx, yylsp[-1].first_line); }    break;  case 47:#line 390 "wmlscript/wsgram.y"    { yyval.stmt = ws_stmt_break(pctx, yylsp[-1].first_line); }    break;  case 49:#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 50:#line 403 "wmlscript/wsgram.y"    {		    ws_error_syntax(pctx, yylsp[0].first_line);		    yyval.list = NULL;		}    break;  case 51:#line 411 "wmlscript/wsgram.y"    { yyval.list = ws_list_new(pctx); }    break;  case 53:#line 417 "wmlscript/wsgram.y"    {		    yyval.list = ws_list_new(pctx);		    ws_list_append(pctx, yyval.list, yyvsp[0].stmt);		}    break;  case 54:#line 422 "wmlscript/wsgram.y"    { ws_list_append(pctx, yyvsp[-1].list, yyvsp[0].stmt); }    break;  case 55:#line 427 "wmlscript/wsgram.y"    { yyval.stmt = ws_stmt_variable(pctx, yylsp[-2].first_line, yyvsp[-1].list); }    break;  case 56:#line 429 "wmlscript/wsgram.y"    { ws_error_syntax(pctx, yylsp[0].first_line); }    break;  case 57:#line 434 "wmlscript/wsgram.y"    {		    yyval.list = ws_list_new(pctx);		    ws_list_append(pctx, yyval.list, yyvsp[0].vardec);		}    break;  case 58:#line 439 "wmlscript/wsgram.y"    { ws_list_append(pctx, yyvsp[-2].list, yyvsp[0].vardec); }    break;  case 59:#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 60:#line 459 "wmlscript/wsgram.y"    { yyval.expr = NULL; }    break;  case 61:#line 461 "wmlscript/wsgram.y"    { yyval.expr = yyvsp[0].expr; }    break;  case 62:#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 63:#line 468 "wmlscript/wsgram.y"    { yyval.stmt = ws_stmt_if(pctx, yylsp[-4].first_line, yyvsp[-2].expr, yyvsp[0].stmt, NULL); }    break;  case 64:#line 473 "wmlscript/wsgram.y"    { yyval.stmt = ws_stmt_while(pctx, yylsp[-4].first_line, yyvsp[-2].expr, yyvsp[0].stmt); }    break;  case 66:#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 67:#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 68:#line 488 "wmlscript/wsgram.y"    { yyval.stmt = ws_stmt_return(pctx, yylsp[-2].first_line, yyvsp[-1].expr); }    break;  case 69:#line 494 "wmlscript/wsgram.y"    { yyval.expr = NULL; }    break;  case 72:#line 502 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_comma(pctx, yylsp[-1].first_line, yyvsp[-2].expr, yyvsp[0].expr); }    break;  case 74:#line 508 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, '=', yyvsp[0].expr); }    break;  case 75:#line 510 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tMULA, yyvsp[0].expr); }    break;  case 76:#line 512 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tDIVA, yyvsp[0].expr); }    break;  case 77:#line 514 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tREMA, yyvsp[0].expr); }    break;  case 78:#line 516 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tADDA, yyvsp[0].expr); }    break;  case 79:#line 518 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tSUBA, yyvsp[0].expr); }    break;  case 80:#line 520 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tLSHIFTA, yyvsp[0].expr); }    break;  case 81:#line 522 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tRSSHIFTA, yyvsp[0].expr); }    break;  case 82:#line 524 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tRSZSHIFTA, yyvsp[0].expr); }    break;  case 83:#line 526 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tANDA, yyvsp[0].expr); }    break;  case 84:#line 528 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tXORA, yyvsp[0].expr); }    break;  case 85:#line 530 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tORA, yyvsp[0].expr); }    break;  case 86:#line 532 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_assign(pctx, yylsp[-2].first_line, yyvsp[-2].identifier, tIDIVA, yyvsp[0].expr); }    break;  case 88:#line 538 "wmlscript/wsgram.y"    { yyval.expr = ws_expr_conditional(pctx, yylsp[-3].first

⌨️ 快捷键说明

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