# Etiquetas usadas: # #1 - adjectivos # #2 - ...ção ( a#2 b --> b de a) # #5 - ...temas ( a b#5 --> b de a) # #3 - usado para would -> condicional # #4 - usado para will -> futuro # o#9 - artigo definido # um#8 - artigo indefinido # #fs - 'e um nome feminino singular # #mp - 'e um nome feminino plural # # #tmp - para mudar para mp (Interna) # #tms - para mudar para ms (Interna) # #tfs - para mudar para fs (Interna) # #tfp - para mudar para fp (Interna) use POSIX qw(locale_h); setlocale(&POSIX::LC_ALL, "pt_PT"); use locale; $w='(?:\w+|\([^)]+\))'; $masPw='\w+(?:ores|os|#mp)\b'; $femPw='\w+(?:as|ções|dades|gens|#fp)\b'; $masw='\w+(?:or|o|#ms)\b'; $femw='\w+(?:a|ção|dade|gem|#fs)\b'; $pdem='(?:est[ea]s?\b|ess[ae]s\b)'; $art='(?:o|a|os|as|um|uma|uns|umas)\b'; $prepe='(?:\b(?:com|para|por|de|e)\b)'; $ser='(?:\b(?:é|ser|foi|somos|era|são)\b)'; RULES para ($w)#2==>à $1 ($masw) ($w)#2==>$2 de $1 ($masPw) ($w)#2==>$2 de $1 ($femw) ($w)#2==>$2 de $1 ($femPw) ($w)#2==>$2 de $1 ($w)#2 ($masw)==>$2 de $1 ($w)#2 ($masPw)==>$2 de $1 ($w)#2 ($femw)==>$2 de $1 ($w)#2 ($femPw)==>$2 de $1 #2==> #[89] ($w)#1 ($masw)==>#tms $2 $1#tms #[89] ($w)#1 ($masPw)==>#tmp $2 $1#tmp e#[89] ($w)#1 ($femw)==>a $2 $1#tfs e#[89] ($w)#1 ($femPw)==>as $2 $1#tfp #[89] ($w)#1 ($femw)==>#tfs $2 $1#tfs #[89] ($w)#1 ($femPw)==>#tfp $2 $1#tfp ($w)#1 e ($w)#1 ($masw)==>$3 $1#tms e $2#tms ($w)#1 e ($w)#1 ($masPw)==>$3 $1#tmp e $2#tmp ($w)#1 e ($w)#1 ($femw)==>$3 $1#tfs e $2#tfs ($w)#1 e ($w)#1 ($femPw)==>$3 $1#tfp e $2#tfp ($prepe) ($w)#1 ($masw)==>$1 $3 $2#tms ($prepe) ($w)#1 ($masPw)==>$1 $3 $2#tmp ($prepe) ($w)#1 ($femw)==>$1 $3 $2#tfs ($prepe) ($w)#1 ($femPw)==>$1 $3 $2#tfp ($ser) ($w)#1==>$1 $2 ($w)#1 ($masw)==>$2 $1#tms ($w)#1 ($masPw)==>$2 $1#tmp ($w)#1 ($femw)==>$2 $1#tfs ($w)#1 ($femPw)==>$2 $1#tfp \((.*)\)(#t[mf][sp])==>$1$2 #tms==> ([lra])#tfs==>$1 ês#tfs==>esa o#tfs==>a O#tfs==>A m#tfs==>ma nós #4 (\w+)r==>$1remos nós #3 (\w+)r==>$1ríamos nós (\w+)r==>$1mos nós (\w+)do#1==>$1mos #4 (\w+)r==>$1rá #3 (\w+)r==>$1ria ês#tfp==>esas o#tfp==>as O#tfp==>Os m#tfp==>mas as#tfp==>as or#tfp==>oras o#tmp==>os os#tmp==>os ês#tmp==>eses or#tmp==>ores m#tmp==>ns l#t[mf]p==>is r#t[mf]p==>res #9 ($masPw)==>s $1 #9 ($masw)==> $1 O#9 ($femw)==>A $1 O#9 ($femPw)==>As $1 o#9 ($femw)==>a $1 o#9 ($femPw)==>as $1 e#9 ($femw)==>a $1 e#9 ($femPw)==>as $1 o#9 meu ($femw)==>a minha $1 o#9 meu ($femPw)==>as minhas $1 #9==> ##a cat -> um gato ##a table -> uma mesa m#8 ($femw)==>ma $1 m#8 ($masPw)==>ns $1 m#8 ($femw)==>mas $1 #8==> ##to the cat ==> ao gato ##to the table ==> à mesa À#7 ($masw)==>Ao $1 À#7 ($masPw)==>Aos $1 à#7 ($masw)==>ao $1 à#7 ($masPw)==>aos $1 #7 ($femPw)==>s $1 #7==> \b([dD])e ($art|$pdem)\b==>$1$2 \bEm ($art|$pdem)\b==>N$1 \bem ($art|$pdem)\b==>n$1 \b([pP])or (o|a|os|as)\b==>$1el$2 \b([aA]) (o|os)\b==>$1$2 \ba a(s?)\b==>à$1 \bA a(s?)\b==>À$1 é (em|no|na|nos|nas)\b==>está $1 \bsão (em|no|na|nos|nas)\b==>estam $1 \bfoi (em|no|na|nos|nas)\b==>estava $1 é (\w+)ndo\b==>está a $1r \bsão (\w+)ndo\b==>estam a $1r \bfoi (\w+)ndo\b==>estava a $1r #fs==> #ms==> #mp==> #fp==>