awk -F'|' ' BEGIN { printed=0 print "DEFINE mv_info_name char(64)" print " " print "FUNCTION set_info_text(lv_s)" print "DEFINE lv_s CHAR(64)" print "LET mv_info_name=lv_s" print "END FUNCTION" print " " } ($1=="KEEPMENU"||$1=="MENU"||$1=="SINGLEMENU") { printed++; menufunc=$2 menu_title=$3 menu_type=0 if ($1=="MENU") menu_type=1 if ($1=="KEEPMENU") menu_type=2 delete menu_options delete menu_titles delete menu_call delete menu_key x=0 next } (NF==4) { menu_options[x]=$1 menu_key[x]=$2 menu_titles[x]=$3 menu_call[x]=$4 x++; } (NF==0 && x>0) { if (menu_type==2) { print "FUNCTION " menufunc "(lv_lastoption)" } else { print "FUNCTION " menufunc "()" } print "DEFINE lv_option INTEGER" print "DEFINE lv_lastoption INTEGER" print "DEFINE lv_run INTEGER" print "DEFINE lv_menukey CHAR(1)" print "DEFINE lv_hadmenu INTEGER" print "" print "LET lv_hadmenu=has_menu_action()" if (menu_type!=2) { print "LET lv_lastoption=-1" } print "LET lv_run=TRUE" print " " menufunc="alreadyprinted" print "WHILE lv_run" print " IF has_menu_action() THEN" print " LET lv_menukey=get_menu_action()" print "" print " CASE lv_menukey" for(cnt=0;cnt