Teza doctorat (pdf) - Universitatea Tehnică

Teza doctorat (pdf) - Universitatea Tehnică Teza doctorat (pdf) - Universitatea Tehnică

users.utcluj.ro
from users.utcluj.ro More from this publisher
15.06.2013 Views

194 Cap. 6. Metode de sinteză de voce CautVbPrezN( sterm, str) ­ Căutare în dicţionar a cuvântului curent considerat verb neregulat la timpul prezent. Forma neflexionată se obţine prin înlocuirea sintagmei specificate de prin forma neflexionată . Şirul specifică forma verbului pentru persoanele întâia, a doua şi a treia singular, şi întâia, a doua şi a treia plural : = "vb1_sg|vb2_sg|vb3_sg|vb1_pl|vb2_pl|vb3_pl" CautVbImpfN( sterm, str) ­ Căutare în dicţionar a cuvântului curent considerat verb neregulat la timpul imperfect. Forma neflexionată se obţine prin înlocuirea terminaţiei specificate de prin forma neflexionată . Şirul specifică terminaţiile verbului pentru persoanele întâia, a doua şi a treia singular, şi întâia, a doua şi a treia plural : = "t1_sg|t2_sg|t3_sg|t1_pl|t2_pl|t3_pl" CautSAD(terminatie, str) ­ Căutare în dicţionar a cuvântului curent considerat Substantiv Singular Articulat sau Dativ. Terminaţiile sunt independente şi sunt specificate prin : ="term_art-term_dat". Forma neflexionată se obţine prin înlocuirea terminaţiei specificate de prin substringul . CautSPAD(terminatie, str) ­ Căutare în dicţionar a cuvântului curent considerat Substantiv Plural Articulat sau Dativ. Terminaţiile sunt specificate prin : ="sir_plural-term_art-term_dat". Terminaţiile formelor Articulat şi Dativ se adaugă terminaţiei "sir_plural". Forma neflexionată se obţine prin înlocuirea terminaţiei specificate de prin substringul . CautDat(terminatie, str) ­ Căutare în dicţionar a cuvântului curent considerat Pronume Dativ cu formele Masculin, Feminin, Plural. Terminaţiile sunt independente şi sunt specificate prin şirul : ="term_masc-term_fem-term_plural". Forma neflexionată se obţine prin înlocuirea terminaţiei specificate de prin substringul . ReplaceLast(c_init, c_final) - Înlocuirea caracterului prin caracterul din cuvântul curent. Căutarea se face de la sfârşit către început. ReplaceSecond(c_init, c_final) - Înlocuirea celui de-al doilea caracter prin caracterul din cuvântul curent. Căutarea se face de la sfârşit către început. În plus, corespunzător cu primitivele Caut au fost definite o serie de primitive Caută care au aceeaşi semnificaţie cu primele, dar conţin încapsulate directiva REJECT, ceea ce va duce în mod automat la căutarea unei noi forme, indiferent dacă forma curentă a fost sau nu găsită în dicţionar.

195 Cap. 6. Metode de sinteză de voce După această prezentare a primitivelor, în continuare se prezintă câteva reguli semnificative pentru categoriile gramaticale de bază, împreună cu exemplele asociate. Regulile conţin specificarea uneia sau mai multor terminaţii pentru formele flexionate, şi o acţiune care se va declanşa la validarea acelei reguli. SETUL DE REGULI PENTRU ANALIZA DE SINTAXǍ (extras) SUBSTANTIVE VOCATIV {LIT}+o/{SEP} {// ex: “frumoaso" tip=S_VOC_FEM_SG; // se repun literele in streamul de intrare // cu 'ã' la sfirsit: ‘frumoaso’ = 0; --i ) unput( yytext[i] ); } {LIT}+ule/{SEP} {/*VOCATIV domnule*/ Cauta(S_VOC_MAS_SG,3,""); } DIMINUTIV NEARTICULAT {LIT}+uţã/{SEP} {/* DIMINUTIV cutie-cutiuţã, maşinã-maşinuţã*/ ReplaceSecond('ã','a'); //mãsuţã

195<br />

Cap. 6. Metode de sinteză de voce<br />

După această prezentare a primitivelor, în continuare se prezintă câteva reguli<br />

semnificative pentru categoriile gramaticale de bază, împreună cu exemplele asociate. Regulile<br />

conţin specificarea uneia sau mai multor terminaţii pentru formele flexionate, şi o acţiune care se<br />

va declanşa la validarea acelei reguli.<br />

SETUL DE REGULI PENTRU ANALIZA DE SINTAXǍ (extras)<br />

SUBSTANTIVE VOCATIV<br />

{LIT}+o/{SEP} {// ex: “frumoaso"<br />

tip=S_VOC_FEM_SG;<br />

// se repun literele in streamul de intrare<br />

// cu 'ã' la sfirsit: ‘frumoaso’ = 0; --i )<br />

unput( yytext[i] );<br />

}<br />

{LIT}+ule/{SEP} {/*VOCATIV<br />

domnule*/<br />

Cauta(S_VOC_MAS_SG,3,"");<br />

}<br />

DIMINUTIV NEARTICULAT<br />

{LIT}+uţã/{SEP} {/* DIMINUTIV<br />

cutie-cutiuţã, maşinã-maşinuţã*/<br />

ReplaceSecond('ã','a'); //mãsuţã

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!