#!/usr/bin/perl -CDS

#
# Hamlog config file generator for Tsukurimashou
# Copyright (C) 2011, 2012  Matthew Skala
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3.
#
# As a special exception, if you create a document which uses this font, and
# embed this font or unaltered portions of this font into the document, this
# font does not by itself cause the resulting document to be covered by the
# GNU General Public License. This exception does not however invalidate any
# other reasons why the document might be covered by the GNU General Public
# License. If you modify this font, you may extend this exception to your
# version of the font, but you are not obligated to do so. If you do not
# wish to do so, delete this exception statement from your version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# Matthew Skala
# http://ansuz.sooke.bc.ca/
# mskala@ansuz.sooke.bc.ca
#

$type=shift;
if ($type eq "char") {
    $tail='C,P';
} elsif ($type eq "feature") {
    $tail='F';
} elsif ($type eq "parasite") {
    $tail='P';
} elsif ($type eq "style") {
    $tail='F,S,W,P';
} else {
    print STDERR "Unknown type $type\n";
    exit(1);
}

foreach $_ (reverse split (/[, ]+/,shift)) {
    if (/^(-|!)(.*)$/) {
	print "want_$type($tail):-cfg_$type(".
	  join(",$tail),cfg_$type(",split(/[:&]+/,$2)).
	  ",$tail),!,fail.\n";
    } elsif (/^\+?(.*)$/) {
	print "want_$type($tail):-cfg_$type(".
	  join(",$tail),cfg_$type(",split(/[:&]+/,$1)).
	  ",$tail),!.\n";
    }
}
