#---------------------------------------------------------------------------- # Dialog data and code block - do not modify this code by hand # Generated by LIBERO 2.4 on 22 Jul, 2004, 16:52. # Schema file used: lrschema.pl #---------------------------------------------------------------------------- #-- Symbolic constants and event numbers ------------------------------------ $LR_defaults_state = 11; $LR_STATE_after_init = 0; $LR_STATE_have_argument = 1; $LR_STATE_first_pass = 2; $LR_STATE_first_pass_block = 3; $LR_STATE_main_pass = 4; $LR_STATE_main_pass_block = 5; $LR_STATE_inter_pass = 6; $LR_STATE_inter_pass_block = 7; $LR_STATE_final_pass = 8; $LR_STATE_within_fields = 9; $LR_STATE_within_table = 10; $LR_STATE_defaults = 11; $terminate_event = -1; # Halts the dialog $LR_NULL_EVENT = -2; $action_event = 0; $blank_line_event = 1; $block_event = 2; $body_text_event = 3; $boolean_event = 4; $build_event = 5; $comment_event = 6; $const_event = 7; $date_event = 8; $define_event = 9; $do_event = 10; $echo_event = 11; $else_event = 12; $end_block_event = 13; $end_do_event = 14; $end_fields_event = 15; $end_for_event = 16; $end_if_event = 17; $end_table_event = 18; $error_event = 19; $exception_event = 20; $fields_event = 21; $file_event = 22; $finished_event = 23; $finished_include_event = 24; $for_event = 25; $form_end_event = 26; $if_event = 27; $ignore_event = 28; $ignore_pages_event = 29; $include_event = 30; $index_event = 31; $label_event = 32; $livelink_event = 33; $macro_event = 34; $macro_text_event = 35; $need_inter_pass_event = 36; $numeric_event = 37; $ok_event = 38; $page_event = 39; $radio_event = 40; $select_event = 41; $switch_event = 42; $table_event = 43; $textbox_event = 44; $textual_event = 45; $time_event = 46; #-- Standard subroutines used by dialog interpreter ------------------------- sub raise_exception { local ($event) = @_; $the_exception_event = $event; $exception_raised = 1; } sub LR_initialise { $LR_nextst = ""; $LR_nextst .= "000000000000000000000000000000000000000000"; $LR_nextst .= "000000000000000000000000000000000001000000"; $LR_nextst .= "0000000000"; $LR_nextst .= "000000000000000000000000000000000000000000"; $LR_nextst .= "000001000000000000000000000000000002000000"; $LR_nextst .= "0100000000"; $LR_nextst .= "020203020202020202020202020202020202020202"; $LR_nextst .= "020204020202020202020202020202020202020202"; $LR_nextst .= "0202020202"; $LR_nextst .= "030303030303030303030303030203030303030203"; $LR_nextst .= "030304020303030303030303030303030303030303"; $LR_nextst .= "0303030303"; $LR_nextst .= "040405040404040404040404040404040404040404"; $LR_nextst .= "040408040404040404040404040404060404040404"; $LR_nextst .= "0404040404"; $LR_nextst .= "050505050505050505050505050405050505050405"; $LR_nextst .= "050508040505050505050505050505060505050505"; $LR_nextst .= "0505050505"; $LR_nextst .= "060607060606060606060606060606060606060606"; $LR_nextst .= "060608060606060606060606060606060606060606"; $LR_nextst .= "0606060606"; $LR_nextst .= "070707070707070707070707070607070707070607"; $LR_nextst .= "070708060707070707070707070707060707070707"; $LR_nextst .= "0707070707"; $LR_nextst .= "080808080808080808080808080808080808080808"; $LR_nextst .= "090801080808080808080808080808080808080808"; $LR_nextst .= "0810080808"; $LR_nextst .= "090900090900000009000900000009080000000000"; $LR_nextst .= "090901000000000000000909000009000900000909"; $LR_nextst .= "0010090909"; $LR_nextst .= "101000101000000010001000000010000000080000"; $LR_nextst .= "091001000000000000001010000010001000001010"; $LR_nextst .= "0010101010"; $LR_nextst .= "111111111111111111111111111111111111111111"; $LR_nextst .= "111111111111111111111111111111111111111111"; $LR_nextst .= "1111111111"; $LR_action = ""; $LR_action .= "000000000000000000000000000000000000000200"; $LR_action .= "000000000000000000000000000000000001000000"; $LR_action .= "0000000000"; $LR_action .= "000000000000000000000000000000000000000000"; $LR_action .= "000005000000000000000000000000000003000000"; $LR_action .= "0400000000"; $LR_action .= "170817061724091117101725201817172321170917"; $LR_action .= "171726092217191416131717271207171717151717"; $LR_action .= "1717171717"; $LR_action .= "240817082424242424242424242424242424240924"; $LR_action .= "242426092424242424242424242408242424242424"; $LR_action .= "2424242424"; $LR_action .= "170835281736093117301725201817172321170917"; $LR_action .= "391737092217193316131717321729381717341717"; $LR_action .= "1739171717"; $LR_action .= "424035404242424242424242420942424242420942"; $LR_action .= "424237094242424242424242424240414242424242"; $LR_action .= "4242424242"; $LR_action .= "170835431736091117101725201817172321170917"; $LR_action .= "171746092217193316131717321244381717451717"; $LR_action .= "1717171717"; $LR_action .= "424035404242424242424242420942424242420942"; $LR_action .= "424246094242424242424242424240384242424242"; $LR_action .= "4242424242"; $LR_action .= "574859475659595956595459595955595959590902"; $LR_action .= "525650595951595959595856595947595659495656"; $LR_action .= "5953565656"; $LR_action .= "766000617300000071006500000066790000000000"; $LR_action .= "636880000000000000007877000062007000007574"; $LR_action .= "0064696772"; $LR_action .= "760900817300000071008400000084000000860000"; $LR_action .= "826880000000000000008577000081007000007574"; $LR_action .= "0083696772"; $LR_action .= "595959595959595959595959595959595959595902"; $LR_action .= "595959595959595959595959595959595959595959"; $LR_action .= "5959595959"; $LR_module = ""; $LR_module .= "01020304" . "00"; $LR_module .= "05" . "00"; $LR_module .= "06070809" . "00"; $LR_module .= "1004" . "00"; $LR_module .= "1105" . "00"; $LR_module .= "12131409" . "00"; $LR_module .= "15131409" . "00"; $LR_module .= "1409" . "00"; $LR_module .= "09" . "00"; $LR_module .= "161709" . "00"; $LR_module .= "181709" . "00"; $LR_module .= "1909" . "00"; $LR_module .= "12202109" . "00"; $LR_module .= "12221709" . "00"; $LR_module .= "1223241709" . "00"; $LR_module .= "2509" . "00"; $LR_module .= "121709" . "00"; $LR_module .= "2609" . "00"; $LR_module .= "122709" . "00"; $LR_module .= "2809" . "00"; $LR_module .= "2909" . "00"; $LR_module .= "123009" . "00"; $LR_module .= "3109" . "00"; $LR_module .= "1709" . "00"; $LR_module .= "123209" . "00"; $LR_module .= "3334350809" . "00"; $LR_module .= "361709" . "00"; $LR_module .= "12371409" . "00"; $LR_module .= "15371409" . "00"; $LR_module .= "1609" . "00"; $LR_module .= "1809" . "00"; $LR_module .= "3609" . "00"; $LR_module .= "122209" . "00"; $LR_module .= "23381239174009" . "00"; $LR_module .= "4109" . "00"; $LR_module .= "124209" . "00"; $LR_module .= "333843443509" . "00"; $LR_module .= "45350809" . "00"; $LR_module .= "46121709" . "00"; $LR_module .= "4709" . "00"; $LR_module .= "34350809" . "00"; $LR_module .= "4809" . "00"; $LR_module .= "121409" . "00"; $LR_module .= "151409" . "00"; $LR_module .= "23391709" . "00"; $LR_module .= "3343443509" . "00"; $LR_module .= "124909" . "00"; $LR_module .= "4909" . "00"; $LR_module .= "1239505109" . "00"; $LR_module .= "523353545504" . "00"; $LR_module .= "5009" . "00"; $LR_module .= "125609" . "00"; $LR_module .= "125709" . "00"; $LR_module .= "125809" . "00"; $LR_module .= "5909" . "00"; $LR_module .= "6009" . "00"; $LR_module .= "126109" . "00"; $LR_module .= "126209" . "00"; $LR_module .= "6305" . "00"; $LR_module .= "6409" . "00"; $LR_module .= "126409" . "00"; $LR_module .= "156409" . "00"; $LR_module .= "65125609" . "00"; $LR_module .= "65125709" . "00"; $LR_module .= "126609" . "00"; $LR_module .= "6709" . "00"; $LR_module .= "126809" . "00"; $LR_module .= "126909" . "00"; $LR_module .= "127009" . "00"; $LR_module .= "127109" . "00"; $LR_module .= "127209" . "00"; $LR_module .= "127309" . "00"; $LR_module .= "127409" . "00"; $LR_module .= "127509" . "00"; $LR_module .= "127609" . "00"; $LR_module .= "127709" . "00"; $LR_module .= "127809" . "00"; $LR_module .= "7909" . "00"; $LR_module .= "126509" . "00"; $LR_module .= "523380545504" . "00"; $LR_module .= "8109" . "00"; $LR_module .= "82125609" . "00"; $LR_module .= "82125709" . "00"; $LR_module .= "8309" . "00"; $LR_module .= "8409" . "00"; $LR_module .= "128209" . "00"; $LR_offset [1] = 0; $LR_offset [2] = 5; $LR_offset [3] = 7; $LR_offset [4] = 12; $LR_offset [5] = 15; $LR_offset [6] = 18; $LR_offset [7] = 23; $LR_offset [8] = 28; $LR_offset [9] = 31; $LR_offset [10] = 33; $LR_offset [11] = 37; $LR_offset [12] = 41; $LR_offset [13] = 44; $LR_offset [14] = 49; $LR_offset [15] = 54; $LR_offset [16] = 60; $LR_offset [17] = 63; $LR_offset [18] = 67; $LR_offset [19] = 70; $LR_offset [20] = 74; $LR_offset [21] = 77; $LR_offset [22] = 80; $LR_offset [23] = 84; $LR_offset [24] = 87; $LR_offset [25] = 90; $LR_offset [26] = 94; $LR_offset [27] = 100; $LR_offset [28] = 104; $LR_offset [29] = 109; $LR_offset [30] = 114; $LR_offset [31] = 117; $LR_offset [32] = 120; $LR_offset [33] = 123; $LR_offset [34] = 127; $LR_offset [35] = 135; $LR_offset [36] = 138; $LR_offset [37] = 142; $LR_offset [38] = 149; $LR_offset [39] = 154; $LR_offset [40] = 159; $LR_offset [41] = 162; $LR_offset [42] = 167; $LR_offset [43] = 170; $LR_offset [44] = 174; $LR_offset [45] = 178; $LR_offset [46] = 183; $LR_offset [47] = 189; $LR_offset [48] = 193; $LR_offset [49] = 196; $LR_offset [50] = 202; $LR_offset [51] = 209; $LR_offset [52] = 212; $LR_offset [53] = 216; $LR_offset [54] = 220; $LR_offset [55] = 224; $LR_offset [56] = 227; $LR_offset [57] = 230; $LR_offset [58] = 234; $LR_offset [59] = 238; $LR_offset [60] = 241; $LR_offset [61] = 244; $LR_offset [62] = 248; $LR_offset [63] = 252; $LR_offset [64] = 257; $LR_offset [65] = 262; $LR_offset [66] = 266; $LR_offset [67] = 269; $LR_offset [68] = 273; $LR_offset [69] = 277; $LR_offset [70] = 281; $LR_offset [71] = 285; $LR_offset [72] = 289; $LR_offset [73] = 293; $LR_offset [74] = 297; $LR_offset [75] = 301; $LR_offset [76] = 305; $LR_offset [77] = 309; $LR_offset [78] = 313; $LR_offset [79] = 316; $LR_offset [80] = 320; $LR_offset [81] = 327; $LR_offset [82] = 330; $LR_offset [83] = 335; $LR_offset [84] = 340; $LR_offset [85] = 343; $LR_offset [86] = 346; } #-- Dialog interpreter starts here ------------------------------------------ $feedback = 0; # Main program feedback $LR_state = 0; # First state is always 0 &LR_initialise; # Initialise static strings &initialise_the_program; while ($the_next_event != $terminate_event) { $LR_event = $the_next_event; $LR_event < 0 || $LR_event >= 47 && die "State ", $LR_state, " - event ", $LR_event, " is out of range\n"; $LR_index = ($LR_state * 47 + $LR_event) * 2; $LR_index = substr ($LR_action, $LR_index, 2); $LR_savest = $LR_state; # If no action for this event, try the defaults state if ($LR_index == 0) { $LR_state = $LR_defaults_state; $LR_index = ($LR_state * 47 + $LR_event) * 2; $LR_index = substr ($LR_action, $LR_index, 2); $LR_index == 0 && die "State ", $LR_state, " - event ", $LR_event, " is not accepted\n"; } $the_next_event = $LR_NULL_EVENT; $the_exception_event = $LR_NULL_EVENT; $exception_raised = 0; # Execute module list for state transition, 0 indicates end of list $LR_vecptr = $LR_offset [$LR_index]; $LR_modnbr = substr ($LR_module, $LR_vecptr * 2, 2); while ($LR_modnbr > 0 && !$exception_raised) { { # Execute the module $LR_modnbr == 1 && do { &initialise_program_data; last; }; $LR_modnbr == 2 && do { &parse_formio_header_file; last; }; $LR_modnbr == 3 && do { &load_anchor_definitions; last; }; $LR_modnbr == 4 && do { &get_next_argument_value; last; }; $LR_modnbr == 5 && do { &terminate_the_program; last; }; $LR_modnbr == 6 && do { &start_first_pass; last; }; $LR_modnbr == 7 && do { &open_main_document; last; }; $LR_modnbr == 8 && do { &open_output_work_file; last; }; $LR_modnbr == 9 && do { &get_next_document_line; last; }; $LR_modnbr == 10 && do { &process_the_switch; last; }; $LR_modnbr == 11 && do { &save_anchor_definitions; last; }; $LR_modnbr == 12 && do { &expand_symbols_in_line; last; }; $LR_modnbr == 13 && do { &collect_title_if_present; last; }; $LR_modnbr == 14 && do { ©_line_to_output; last; }; $LR_modnbr == 15 && do { &expand_symbols_in_macro; last; }; $LR_modnbr == 16 && do { &store_symbol_definition; last; }; $LR_modnbr == 17 && do { ©_action_line_to_output; last; }; $LR_modnbr == 18 && do { &store_constant_definition; last; }; $LR_modnbr == 19 && do { &store_macro_definition; last; }; $LR_modnbr == 20 && do { &take_include_file_name; last; }; $LR_modnbr == 21 && do { &open_the_document; last; }; $LR_modnbr == 22 && do { &handle_ignore_command; last; }; $LR_modnbr == 23 && do { &check_if_ignore_pages; last; }; $LR_modnbr == 24 && do { &parse_page_title_for_toc; last; }; $LR_modnbr == 25 && do { &parse_page_title_only; last; }; $LR_modnbr == 26 && do { &signal_unexpected_end_block; last; }; $LR_modnbr == 27 && do { &skip_if_block_if_false; last; }; $LR_modnbr == 28 && do { &skip_else_block_always; last; }; $LR_modnbr == 29 && do { &close_if_block_if_open; last; }; $LR_modnbr == 30 && do { &repeat_for_loop_contents; last; }; $LR_modnbr == 31 && do { &signal_unexpected_end_for; last; }; $LR_modnbr == 32 && do { &echo_text_to_console; last; }; $LR_modnbr == 33 && do { &close_the_document; last; }; $LR_modnbr == 34 && do { &start_main_pass; last; }; $LR_modnbr == 35 && do { &reuse_work_file_as_input; last; }; $LR_modnbr == 36 && do { &store_livelink_definition; last; }; $LR_modnbr == 37 && do { &anchor_title_if_present; last; }; $LR_modnbr == 38 && do { &output_footer_for_page; last; }; $LR_modnbr == 39 && do { &parse_page_title_and_name; last; }; $LR_modnbr == 40 && do { &output_header_for_page; last; }; $LR_modnbr == 41 && do { &clear_specified_block; last; }; $LR_modnbr == 42 && do { &build_specified_table; last; }; $LR_modnbr == 43 && do { &check_if_inter_pass_needed; last; }; $LR_modnbr == 44 && do { &start_final_pass; last; }; $LR_modnbr == 45 && do { &start_inter_pass; last; }; $LR_modnbr == 46 && do { &start_form_if_needed; last; }; $LR_modnbr == 47 && do { &add_line_to_block; last; }; $LR_modnbr == 48 && do { &add_action_line_to_block; last; }; $LR_modnbr == 49 && do { ©_line_to_final_output; last; }; $LR_modnbr == 50 && do { &build_table_index_fields; last; }; $LR_modnbr == 51 && do { &open_new_output_page; last; }; $LR_modnbr == 52 && do { &generate_constants; last; }; $LR_modnbr == 53 && do { &clean_up_work_files; last; }; $LR_modnbr == 54 && do { &signal_document_processed; last; }; $LR_modnbr == 55 && do { &save_document_page_list; last; }; $LR_modnbr == 56 && do { &start_fields_definition; last; }; $LR_modnbr == 57 && do { &start_table_definition; last; }; $LR_modnbr == 58 && do { &start_do_definition; last; }; $LR_modnbr == 59 && do { &end_do_definition; last; }; $LR_modnbr == 60 && do { &signal_outside_field; last; }; $LR_modnbr == 61 && do { &build_action_button_field; last; }; $LR_modnbr == 62 && do { &build_simple_index_field; last; }; $LR_modnbr == 63 && do { &signal_internal_failure; last; }; $LR_modnbr == 64 && do { &store_body_text_field; last; }; $LR_modnbr == 65 && do { &end_fields_definition; last; }; $LR_modnbr == 66 && do { &store_do_definition; last; }; $LR_modnbr == 67 && do { &store_end_do_definition; last; }; $LR_modnbr == 68 && do { &store_textual_field; last; }; $LR_modnbr == 69 && do { &store_file_field; last; }; $LR_modnbr == 70 && do { &store_textbox_field; last; }; $LR_modnbr == 71 && do { &store_numeric_field; last; }; $LR_modnbr == 72 && do { &store_date_field; last; }; $LR_modnbr == 73 && do { &store_time_field; last; }; $LR_modnbr == 74 && do { &store_boolean_field; last; }; $LR_modnbr == 75 && do { &store_select_field; last; }; $LR_modnbr == 76 && do { &store_radio_field; last; }; $LR_modnbr == 77 && do { &store_action_button_field; last; }; $LR_modnbr == 78 && do { &store_simple_label_field; last; }; $LR_modnbr == 79 && do { &signal_invalid_inside_fields; last; }; $LR_modnbr == 80 && do { &signal_end_not_expected; last; }; $LR_modnbr == 81 && do { &reject_text_inside_table; last; }; $LR_modnbr == 82 && do { &end_table_definition; last; }; $LR_modnbr == 83 && do { &signal_invalid_within_table; last; }; $LR_modnbr == 84 && do { &signal_invalid_inside_table; last; }; } $LR_vecptr++; $LR_modnbr = substr ($LR_module, $LR_vecptr * 2, 2); } # Handle exception if any was raised if ($exception_raised) { $the_exception_event == $LR_NULL_EVENT || ($LR_event = $the_exception_event); $the_next_event = $LR_event; } else { $LR_index = ($LR_state * 47 + $LR_event) * 2; $LR_state = substr ($LR_nextst, $LR_index, 2); } $LR_state = $LR_savest if ($LR_state == $LR_defaults_state); if ($the_next_event == $LR_NULL_EVENT) { &get_external_event; $the_next_event == $LR_NULL_EVENT && die "No event set after event ", $LR_event, " in state ", $LR_state, "\n"; } } exit ($feedback);