/* ===================================================================== Source: open.rule ===================================================================== */ open_window_cmd : OPEN_WINDOW open_win_name_p atline KW_AT fgl_expr_c KW_COMMA fgl_expr_c WITH window_type win_attributes { set_cmdlineno($3); $$=new_open_window_cmd($2,chk_expr($7),chk_expr($5),&$9,$10); add_feature("UI_OPEN_WINDOW"); map_ui("OPENWINDOW"); } | OPEN_WINDOW open_win_name_p atline WITH window_type win_attributes { set_cmdlineno($3); $$=new_open_window_cmd($2,A4GL_new_literal_long_long(1),A4GL_new_literal_long_long(1),&$5,$6); add_feature("UI_OPEN_WINDOW"); map_ui("OPENWINDOW"); } ; open_statusbox_cmd : OPEN_STATUSBOX identifier { $$=new_open_statusbox_cmd($2, NULL,NULL,NULL,NULL); } | OPEN_STATUSBOX identifier KW_AT OPEN_BRACKET fgl_expr_c KW_COMMA fgl_expr_c CLOSE_BRACKET { $$=new_open_statusbox_cmd($2, $5,$7,NULL,NULL); } | OPEN_STATUSBOX identifier KW_AT OPEN_BRACKET fgl_expr_c KW_COMMA fgl_expr_c CLOSE_BRACKET KW_SIZE OPEN_BRACKET fgl_expr_c KW_COMMA fgl_expr_c CLOSE_BRACKET { $$=new_open_statusbox_cmd($2, $5,$7,$11,$13); } ; formhandler_name:identifier { ADDMAP("Call Formhandler",$1); } ; open_form_cmd : OPEN_FORM open_form_name_p atline FROM fgl_expr_c { clr_attrib(&curr_attrib); add_feature("USES_FORM"); set_cmdlineno($3); map_open_form($2); $$=new_open_form_cmd($2, chk_expr($5)); } | OPEN_FORM open_form_name_p atline op_at_gui op_like_gui_p op_disable KW_USING formhandler_name { clr_attrib(&curr_attrib); add_feature("USES_FORM"); set_cmdlineno($3); map_open_form($2); $$=new_open_form_gui_cmd($2,$4.s1, $4.s2,$5,atoi($6),$8); } ; op_at_gui: { $$.s1=0; $$.s2=0; } | KW_AT op_absolute OPEN_BRACKET fgl_expr_c KW_COMMA fgl_expr_c CLOSE_BRACKET { $$.s1=$4; $$.s2=$6; } ; op_like_gui_p: {$$=0;} | LIKE ident_or_var_p {$$=$2;} ; op_absolute: {$$=0;} | KW_ABSOLUTE {$$=1;} ; open_session_cmd : OPEN_SESSION conn_id_p TO_DATABASE var_ident_qchar_e user_details op_using_sqltype { add_feature("OPEN_SESSION"); if ($5) { $$=new_connect_cmd($4,$2,$5->username, $5->password, $6); } } ; open_cursor_cmd : opt_use2_p OPEN fetch_cursor_name_p { $$=new_open_cursor_cmd($1, $3,0); add_feature("OPEN_CURSOR"); //start_bind('i',0); //start_bind('o',0); } | opt_use2_p OPEN fetch_cursor_name_p KW_USING expanded_ibind_var_list { $$=new_open_cursor_cmd($1, $3, $5); add_feature("OPEN_CURSOR"); //start_bind('i',0); //start_bind('o',0); } ; user_details : { $$=malloc(sizeof(user_details)); $$->username=0; $$->password=0; } | KW_AS_USER char_or_var_vl PASSWORD char_or_var_vl { $$=malloc(sizeof(user_details)); $$->username=$2; $$->password=$4; } | KW_AS_USER char_or_var_vl KW_COMMA PASSWORD char_or_var_vl { $$=malloc(sizeof(user_details)); $$->username=$2; $$->password=$5; } | KW_AS char_or_var_vl KW_COMMA char_or_var_vl { $$=malloc(sizeof(user_details)); $$->username=$2; $$->password=$4; } ; op_disable : {strcpy($$,"0");} | DISABLE_PROGRAM {strcpy($$,"1");} | DISABLE_ALL {strcpy($$,"2");} ; connect_cmd : CONNECT KW_TO var_ident_vl op_connect_as_p con_user_details op_using_sqltype { add_feature("CONNECT"); $$=new_connect_cmd($3,$4,$5.s1,$5.s2,$6); } ; op_connect_as_p : {$$=0;} | KW_AS ident_or_var_sql_p {$$=$2;} ; con_user_details : { $$.s1=0; $$.s2=0; } | KW_AS_USER char_or_var_vl KW_USING char_or_var_vl { $$.s1=$2; $$.s2=$4; } | USER char_or_var_vl KW_USING char_or_var_vl { $$.s1=$2; $$.s2=$4; } ; op_using_sqltype : {$$=NULL;} | USING_SQLTYPE char_or_var_vl { $$=$2; } ; /* ======================= open.rule =========================== */