#!/usr/bin/perl -s our($m); use Lingua::Treebank::SimTreeML dir=> "../F", id => "test"; my $word=shift or die("Error\nUsage: $0 word\n"); my %expand = ( prp => 1, adv => 1, "pron-indp" => 1); my %aux = ( ser => 1, ter => 1, haver => 1, ir => 1, ficar => 1, estar => 1, poder => 1, ); my %prod=(); downTr({-patt => "-w '$word'", -max => ($m || 50000), tree => sub{ $c =~ s/\s*\n\s*/ /g; $prod{"$v{cat} -> $c"}++ if $c =~ /\b$word\b/; $v{cat} }, t => sub{ if($v{lemma} eq $word){ if($v{cat} =~ /^v-(.*)/){ "[$word-$1]"} else { "[$c]"}} elsif($expand{$v{cat}}){"[$v{lemma}]"} elsif($v{cat} =~ /^v-/ && $aux{$v{lemma}}){ "[$v{lemma}-$v{cat}]"} else{"[$v{cat}]"}}, punct => sub {$v{ort} } }); for(sort {$prod{$b} <=> $prod{$a}} keys %prod) { print "$_ $prod{$_}\n";}