#!/usr/bin/perl

#  [submenu] (Graphics) {image manipulation programs}
#    [exec] (XV)           {xv}
#    [exec] (The GIMP)     {gimp}
#    [exec] (Image Magick) {display}
#  [end]

$number = 1;

while ($line=<>) { 

  chomp($line);

  if (($line eq "") and ($number != 2)) {
    $number = 1;
    $done = 1;
    print " [end]\n";
    next;
  }

  if ($number == 3) {   ## an application

    if ($line =~ /^([^ .]+)\s(.+)/) {
      $application = $1;
      $description = $2;
    }
    else {
      $application = $line;
    }
    print "  [exec] ($application) {$application}\n";

  }

  if ($number == 2) {
    $description = $line;
    if ($menu ne $lastmenu) {
      if ($lastmenu ne '') { # first time
        print "[end]\n# $lastmenu\n\n";
      }
      print "# $menu\n";
      print "[submenu] ($menu)\n";
      $lastmenu = $menu;
    }
    print "# $description\n";
    print " [submenu] ($item) {$description}\n";
    $number = 3;
  }

  if ($number == 1) {
    $number = 2;
    $line =~ /^([^ .]+)\/(.+)$/;
    $menu = $1;
    $item = $2;

  }

}

if (! $done) {
  print " [end]\n";
}
print "[end]\n# $lastmenu\n";
