define cv, nv smallint
main
whenever error call trap_err
defer interrupt
defer quit
call afw_init()
call main_init()
let cv=V_nul
while true
case
when (cv is null)
clear screen
exit program
when (cv=V_nul)
call main_reset()
let nv=null_viewer()
when (cv=V_sql)
let nv=sql_viewer()
when (cv=V_log)
let nv=log_viewer()
when (cv=V_ptr)
let nv=ptr_viewer()
when (cv=V_frm)
let nv=frm_viewer()
when (cv=V_mdl)
let nv=mdl_viewer()
when (cv=V_f2p)
let nv=frm2ptr_viewer()
otherwise
call invalid_viewer(cv)
let cv=V_nul
let nv=null_viewer()
end case
let cv=nv
end while
end main