/* ===================================================================== Source: gui.rule ===================================================================== */ check_menu_cmd : CHECK_MENUITEM menu_item_list { $$=new_check_menu_cmd($2); } ; menu_item_list: menu_item { $$=malloc(sizeof(str_list)); $$->str_list_entry.str_list_entry_len=1; $$->str_list_entry.str_list_entry_val=malloc(sizeof(char *)* $$->str_list_entry.str_list_entry_len); $$->str_list_entry.str_list_entry_val[0]=$1; } | menu_item_list KW_COMMA menu_item { $$->str_list_entry.str_list_entry_len=$1->str_list_entry.str_list_entry_len+1; $$->str_list_entry.str_list_entry_val=realloc($1->str_list_entry.str_list_entry_val, sizeof(char *)* $$->str_list_entry.str_list_entry_len); $$->str_list_entry.str_list_entry_val[$$->str_list_entry.str_list_entry_len-1]=$3; } ; menu_item: identifier { SPRINTF1($$,"%s",$1); } ; uncheck_menu_cmd : UNCHECK_MENUITEM menu_item_list { $$=new_uncheck_menu_cmd($2); } ; disable_menu_cmd : DISABLE_MENUITEMS menu_item_list { $$=new_disable_menu_cmd($2); } ; enable_menu_cmd : ENABLE_MENUITEMS menu_item_list { $$=new_enable_menu_cmd($2); } ; msg_box_cmd : MESSAGEBOX fgl_expr_list_ptr op_caption op_icon op_buttons op_def_but op_disable_msg op_returning_msg { $$=new_msg_box_cmd($2,$3,$4, $5, $6, $7, $8); } ; op_disable_msg : {$$=0;} | DISABLE_PROGRAM {$$=1;} | DISABLE_ALL {$$=2;} ; op_returning_msg : {$$=0;} | gm_returning_msg {$$=$1;} ; gm_returning_msg: RETURNING ensured_variable_usage_expression { $$=$2; } ; op_caption : {$$=0;} | gm_caption {$$=$1;} ; gm_caption: CAPTION fgl_expr_list_ptr {$$=$1;} ; op_icon : {$$=0;} | gm_icon {$$= $1;} ; gm_icon: ICON INT_VALUE { $$=atol($2); } ; op_buttons : {$$=0;} | gm_buttons {$$=atol($1); } ; gm_buttons : BUTTONS INT_VALUE ; op_def_but : {$$=0;}| KW_DEFAULT INT_VALUE {$$=atol($2); } ; /* ================================ gui.rule ============================= */