#! /bin/sed -f # Last edited on 2001-04-08 22:10:45 by stolfi # # Expands contractions in a sample text. # # Spread out punctuation... s/\([.,:;()!?%]\)/ \1 /g s/\([-][-][-]*\)/ \1 /g # # ... but map decimal points and commas to raised dots: s/\([0-9]\) *[.,] *\([0-9]\)/\1·\2/g s/\([0-9]\) *[.,] *\([0-9]\)/\1·\2/g # # Now, make sure that every token is surrounded by private blanks: s/ */ /g s/^ */ / s/ *$/ / # # Now expand the most common contractions: s/ na / em a /g s/ no / em o /g s/ nas / em as /g s/ nos / em os /g # s/ da / de a /g s/ do / de o /g s/ das / de as /g s/ dos / de os /g # s/ à / a a /g s/ ao / a o /g s/ às / a as /g s/ aos / a os /g # s/ pra / para a /g s/ pro / para o /g s/ pras / para as /g s/ pros / para os /g # s/ pela / por a /g s/ pelo / por o /g s/ pelas / por as /g s/ pelos / por os /g # s/ nesta / em esta /g s/ neste / em este /g s/ nestas / em estas /g s/ nestes / em estes /g s/ nisto / em isto /g # s/ desta / de esta /g s/ deste / de este /g s/ destas / de estas /g s/ destes / de estes /g s/ disto / de isto /g # s/ naquela / em aquela /g s/ naquele / em aquele /g s/ naquelas / em aquelas /g s/ naqueles / em aqueles /g s/ naquilo / em aquilo /g # s/ daquela / de aquela /g s/ daquele / de aquele /g s/ daquelas / de aquelas /g s/ daqueles / de aqueles /g s/ daquilo / de aquilo /g # s/ àquela / a aquela /g s/ àquele / a aquele /g s/ àquelas / a aquelas /g s/ àqueles / a aqueles /g s/ àquilo / a aquilo /g # s/ nessa / em essa /g s/ nesse / em esse /g s/ nessas / em essas /g s/ nesses / em esses /g s/ nisso / em isso /g # s/ dessa / de essa /g s/ desse / de esse /g s/ dessas / de essas /g s/ desses / de esses /g s/ disso / de isso /g # s/ nela / em ela /g s/ nele / em ele /g s/ nelas / em elas /g s/ neles / em eles /g # s/ dela / de ela /g s/ dele / de ele /g s/ delas / de elas /g s/ deles / de eles /g # # Expand some common enclitic pronouns: # (Maps "-lo" and "-o" to " -o" rather than " o", etc., in order to preserve # the category info.) s/-me / -me /g s/-te / -te /g s/-o / -o /g s/-a / -a /g s/-lo / -o /g s/-la / -a /g s/-no / -o /g s/-na / -a /g s/-se / -se /g s/-lhe / -lhe /g s/-lho / -lhe -o /g s/-lha / -lhe -a /g s/-lhos / -lhe -os /g s/-lhas / -lhe -as /g s/-nos / -nos /g s/-vos / -vos /g s/-os / -os /g s/-as / -as /g s/-los / -os /g s/-las / -as /g # s/-nos / -os /g s/-nas / -as /g s/-lhes / -lhes /g # # Expand some common symbols: s/ [%] / por cento /g s/ R *[$] *\([0-9][0-9.,]*\) / \1 reais /g s/ US *[$] *\([0-9][0-9.,]*\) / \1 dólares /g # # Now remove superfluous spaces: s/^ *// s/ *$// s/ */ /g #