/* ===================================================================== Source: options.rule ===================================================================== */ options_cmd : OPTIONS atline opt_options { set_cmdlineno($2); $$=new_options_cmd($3); } ; opt_options : opt_allopts { $$=malloc(sizeof(manyoptions)); $$->options.options_len=1; $$->options.options_val=malloc(sizeof($$->options.options_val[0]) * $$->options.options_len); $$->options.options_val[$$->options.options_len-1]=$1; } | opt_options KW_COMMA opt_allopts { $$=$1; $$->options.options_len=$1->options.options_len+1; $$->options.options_val=realloc($1->options.options_val, sizeof($$->options.options_val[0]) * $$->options.options_len); $$->options.options_val[$$->options.options_len-1]=$3; } ; opt_allopts : COMMENT_LINE line_no { $$=new_option_expr('C',$2,0); map_ui("OPTIONS_COMMENT_LINE");} | ERROR_LINE line_no { $$=new_option_expr('E',$2,0); map_ui("OPTIONS_ERROR_LINE");} | FORM_LINE line_no { $$=new_option_expr('F',$2,0); map_ui("OPTIONS_FORM_LINE");} | MENU_LINE line_no { $$=new_option_expr('M',$2,0); map_ui("OPTIONS_MENU_LINE");} | MSG_LINE line_no { $$=new_option_expr('m',$2,0); map_ui("OPTIONS_MESSAGE_LINE");} | ERRORHOOK fgl_expr_c { $$=new_option_expr('e',$2,0); map_ui("OPTIONS_ERRHOOK");} | PROMPT_LINE line_no { $$=new_option_expr('P',$2,0); map_ui("OPTIONS_PROMPT_LINE");} | KW_ACCEPT single_key_val { $$=new_option('A',$2,1); iskey=0; map_ui("OPTIONS_ACCEPTKEY");} | KW_DELETE single_key_val { $$=new_option('D',$2,1); iskey=0; map_ui("OPTIONS_DELETEKEY");} | KW_INSERT single_key_val { $$=new_option('I',$2,1); iskey=0; map_ui("OPTIONS_INSERTKEY");} | KW_NEXT single_key_val { $$=new_option('N',$2,1); map_ui("OPTIONS_NEXTKEY");} | KW_PREVIOUS single_key_val { $$=new_option('p',$2,1); iskey=0; map_ui("OPTIONS_PREVIOUSKEY");} | KW_HELP single_key_val { $$=new_option('H',$2,1); map_ui("OPTIONS_HELPKEY");} | HELP_FILE file_name { $$=new_option_expr('h',$2,0); map_ui("OPTIONS_HELP_FILE");} | LANG_FILE file_name { $$=new_option_expr('L',$2,0); map_ui("OPTIONS_LANG_FILE");} | DISPLAY_ATTR_FORM { $$=new_option('Z',"1",0); map_ui("OPTIONS_DISPLAY_ATTR_FORM");} | DISPLAY_ATTR_WINDOW { $$=new_option('Z',"2",0); map_ui("OPTIONS_DISPLAY_ATTR_WINDOW");} | INPUT_ATTR_FORM { $$=new_option('Y',"1",0); map_ui("OPTIONS_INPUT_ATTR_FORM");} | INPUT_ATTR_WINDOW { $$=new_option('Y',"2",0); map_ui("OPTIONS_INPUT_ATTR_WINDOW");} | KW_DISPLAY attributes_def { char buff[200]; SPRINTF1(buff,"%d", attributes_as_int($2)); $$=new_option('d', buff,0); map_ui("OPTIONS_DISPLAY_ATTR");} | KW_INPUT attributes_def { char buff[200]; SPRINTF1(buff,"%d", attributes_as_int($2)); $$=new_option('i',buff,0); map_ui("OPTIONS_INPUT_ATTR");} | INPUT_WRAP { $$=new_option('W',"1",0); map_ui("OPTIONS_INPUT_WRAP");} | INPUT_NO_WRAP { $$=new_option('W',"0",0); map_ui("OPTIONS_INPUT_NOWRAP");} | FOCONSTR { $$=new_option('f',"0",0); map_ui("OPTIONS_FIELD_ORDER_CONSTRAINED");} | FOUNCONSTR { $$=new_option('f',"1",0); map_ui("OPTIONS_FIELD_ORDER_UNCONSTRAINED");} | SQL_INTERRUPT_OFF { $$=new_option('S',"0",0); map_ui("OPTIONS_SQL_INTERRUPT");} | SQL_INTERRUPT_ON { $$=new_option('S',"1",0); map_ui("OPTIONS_SQL_INTERRUPT");} | KW_RUN option_run_mode { $$=new_option('r',$2,0); map_ui("OPTIONS_RUN");} | KW_PIPE option_pipe_mode { $$=new_option('|',$2,0); map_ui("OPTIONS_PIPE");} | ON_CLOSE_APPLICATION_STOP { $$=new_option('~',"1",0);map_ui("OPTIONS_ON_CLOSE_APPLICATION_STOP");} | PROGRAM_TIMEOUT fgl_expr_c { $$=new_option_expr('t',$2,0); map_ui("OPTIONS_PROGRAM_TIMEOUT");} ; option_run_mode : IN_LINE_MODE {strcpy($$,"1");} | IN_FORM_MODE {strcpy($$,"2");} ; option_pipe_mode : IN_LINE_MODE {strcpy($$,"1");} | IN_FORM_MODE {strcpy($$,"2");} ; /* =========================== options.rule =========================== */