#!/usr/bin/perl

use strict;
use warnings;

use File::Slurper;

my $file=$ARGV[0] or die "no file";
-f $file or die "I can't open the file '$file'";

my $txt=&File::Slurper::read_text($file);

print "<rules xmlns=\"http://ernad.openlib.org\">\n";
while($txt=~s|\s*([^{]+)\s*\{\s*([^}]+)\s*\}\s*||) {
  my $sel=$1;
  my $nava=$2;
  $sel=~s|\s*$||;
  $sel=~s|\s+| |g;
  $sel=~s|"|&quot;|g;
  print "  <rule loc=\"$sel\">\n";
  foreach my $pv (split(/;/,$nava)) {
    $pv=~m|\s*([^:]+)\s*:\s*([^:]+)\s*| or next;
    my $name=$1;
    my $valu=$2;
    $valu=~s|"|&quot;|g;
    $valu=~s|\s+$||g;
    print "    <prop name=\"$name\"\n";
    print "          lit=\"$valu\"/>\n";
  }
  print "  </rule>\n";
}
print "</rules>\n";
