include 'dix_def.inc' c integer*4 magic_struct_pointers parameter (magic_struct_pointers = 'STRP') c structure /struct_pointers/ character*(max_verb_length) begin_verb!IF /for/loop/.... integer*4 begin_nr !line number of begin verb integer*4 begin_ptr !pointer to line with begin verb integer*4 middle_nr !line number for middle statement integer*4 middle_ptr !pointer to line with middle verb integer*4 end_nr !line nr for end statment integer*4 end_ptr !point to line with end verb integer*4 magic end structure c integer*4 magic_struct_level parameter (magic_struct_level = 'STRL') c structure /gosub_entry/ integer*4 line_nr end structure c structure /struct_level/ record /link/ link !must be first item in structure record /struct_pointers/ ptrs !the line pointers integer*4 nk_for_symbol !the length of the name of the for symbol character*(max_symbol_name_length) for_symbol !the name of the for symbol integer*4 for_begval !the for initial value integer*4 for_increment !the for increment value integer*4 for_endval !the for end value logical*4 first !first time for repeat structures integer*4 magic end structure c integer*4 magic_file_level parameter (magic_file_level = 'FILL') structure /file_level/ record /link/ link !must be first item in structure integer*4 lun !the input lun (terminal/memory file) logical*4 is_term !is lun a terminal or a memory file logical on_mode !ON control_c settings true/false integer*4 on_level !on level *war=0/err=2/fat=4 record /strdef/ on_control_c_line record /strdef/ on_line logical*4 verify !verify mode for this level record /table/ gosubs !table of gosubs integer*4 struct_level !structure depth (for/while...) integer*4 top_struct !pointer to first structure (may be 0) integer*4 cur_struct !point to current structure (may be 0) logical*4 output_opened !is the output for this level to a new file integer*4 lun_out !lun for output integer*4 return_line !where to return to if this level is terminated logical*4 is_call !call or @ integer*4 cur_file !pointer to current file structure record /vm_zone/ zone_level !zone info block integer*4 strict_mode !the strict typing mode for the level integer*4 nk_file !length of file name character*(max_filename_length) filename !filename integer*4 magic end structure c c The following structure must be 1 longword in size c structure /level_info/ integer*2 level !@/call level integer*2 line_nr !for/while... level (bit 15..1)+ !part of else statemenet (bit 0) end structure c c Sequence ot highlight the data c character*(*) bold_seq,norm_seq parameter (bold_seq = char(27)//'[1;7m') !bold/reverse parameter (norm_seq = char(27)//'[m')