spln2016:diario5
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Last revisionBoth sides next revision | ||
spln2016:diario5 [2016/03/19 15:23] – ambs | spln2016:diario5 [2016/03/19 15:25] – ambs | ||
---|---|---|---|
Line 22: | Line 22: | ||
=== Exercício: nlgrep === | === Exercício: nlgrep === | ||
- | exercício: | + | Permitir usar expressões com informação morfológica: |
- | nlgrep | + | |
- | | + | nlgrep |
+ | |||
+ | |||
+ | Implementação | ||
# | # | ||
Line 34: | Line 37: | ||
use Memoize; | use Memoize; | ||
use Data:: | use Data:: | ||
+ | | ||
#cada padrão será um par chave:valor | #cada padrão será um par chave:valor | ||
my (@patterns); | my (@patterns); | ||
my $dic = Lingua:: | my $dic = Lingua:: | ||
- | + | | |
+ | |||
if(!@ARGV){ | if(!@ARGV){ | ||
die "No arguments provided\n"; | die "No arguments provided\n"; | ||
} | } | ||
+ | | ||
@patterns = map{argparse($_)} @ARGV; | @patterns = map{argparse($_)} @ARGV; | ||
+ | | ||
print Dumper(\@patterns); | print Dumper(\@patterns); | ||
+ | | ||
@ARGV = (); | @ARGV = (); | ||
+ | | ||
while (<>) { | while (<>) { | ||
# @l = $dic-> | # @l = $dic-> | ||
+ | | ||
while (/ | while (/ | ||
my $w = $&; | my $w = $&; | ||
Line 61: | Line 64: | ||
} | } | ||
} | } | ||
+ | | ||
sub argparse { | sub argparse { | ||
my ($a) = @_; | my ($a) = @_; | ||
Line 68: | Line 71: | ||
} | } | ||
- | ............. | + | Exemplo: |
perl ex1.pl rad:ter cat:v,t:pp | perl ex1.pl rad:ter cat:v,t:pp | ||
+ | |||
+ | Resultado | ||
+ | |||
$VAR1 = [ | $VAR1 = [ | ||
{ | { |
spln2016/diario5.txt · Last modified: 2016/03/19 15:30 by ambs