package Production;
sub new {
    #print ("args: ",join("\n",@_));
    my $class = shift;
    my $self = {};
    if (defined $_[0]) {
	$self->{PHRASE_STRUCT} = shift; #PhraseStruct
    }
    $self->{PROGRESS}=0;
    if (defined $_[0]) {
	$self->{PROGRESS} = shift; #number of items processed in phrase_struct
    }
    if (defined $_[0]) {
	$self->{LEFT} = shift; 	#index of leftmost word in the sentence
	#used by production
    }
    if (defined $_[0]) {
	$self->{RIGHT} = shift; 	#indes of rightmost word used by production
    }
    $self->{CAUSE} = shift;	#list productions that could lead to this one
    bless $self=>$class;
    return $self;
}


1;
