07.05.2013 Views

MODVS VIVENDI - SPAC - Club de Aventuras AD

MODVS VIVENDI - SPAC - Club de Aventuras AD

MODVS VIVENDI - SPAC - Club de Aventuras AD

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TUTORIAL<br />

has female container openable ~open;<br />

class cerillas<br />

with short_name "cerilla",<br />

plural "cerillas",<br />

<strong>de</strong>scription [;<br />

if(self in caja_<strong>de</strong>_cerillas)"Una cerilla que está <strong>de</strong>ntro <strong>de</strong> la caja <strong>de</strong> cerillas.";<br />

"Una cerilla normal y corriente.";<br />

],<br />

parse_name [ i j j2 j3 j4;<br />

j=NextWord();<br />

if (j=='cerilla')i++;<br />

if (j=='cerillas'){i++; parser_action=##PluralFound;}<br />

if (i>0 && action_to_be~=##Take or ##Remove){<br />

j2=NextWord();<br />

j3=NextWord();<br />

j4=NextWord();<br />

if(self in caja_<strong>de</strong>_cerillas){!¿está <strong>de</strong>ntro <strong>de</strong> la caja?<br />

if(j2=='<strong>de</strong>'){if(j3=='la' && j4=='caja')i=i+3;<br />

if (j3=='caja')i=i+2;}<br />

}!¿está <strong>de</strong>ntro <strong>de</strong> la caja?<br />

}<br />

return i;<br />

],<br />

has female;<br />

cerillas c1 "" caja_<strong>de</strong>_cerillas;<br />

cerillas c2 "" caja_<strong>de</strong>_cerillas;<br />

cerillas c3 "" caja_<strong>de</strong>_cerillas;<br />

cerillas c4 "" caja_<strong>de</strong>_cerillas;<br />

cerillas c5 "" caja_<strong>de</strong>_cerillas;<br />

cerillas c6 "" caja_<strong>de</strong>_cerillas;<br />

cerillas c7 "" caja_<strong>de</strong>_cerillas;<br />

cerillas c8 "" caja_<strong>de</strong>_cerillas;<br />

!###########################################<br />

! Proce<strong>de</strong>mos a reemplazar el Parsenoun <strong>de</strong> la librería por el código <strong>de</strong> la<br />

! librería Intnombre que hemos <strong>de</strong>scargado. Con esto conseguimos que los<br />

! adjetivos puntúen previa <strong>de</strong>tección <strong>de</strong> un nombre.<br />

Replace ParseNoun;<br />

Inclu<strong>de</strong> "IntnombreINFSP.h";<br />

#Inclu<strong>de</strong> "SpanishG";<br />

Vamos a analizar este trocito <strong>de</strong> código<br />

<strong>de</strong>l objeto caja_<strong>de</strong>_cerillas para ver lo<br />

que estamos haciendo:<br />

with parse_name [ i j j2 j3 j4;<br />

j=NextWord();<br />

if (j=='caja'){!ee<br />

i++;<br />

j2=NextWord();<br />

j3=NextWord();<br />

j4=NextWord();<br />

if(j2=='<strong>de</strong>'){if(j3=='las'<br />

&& j4=='cerillas')i=i+2;<br />

if<br />

(j3=='cerillas')i=i+2;}<br />

}!ee<br />

return i;<br />

],<br />

En lugar <strong>de</strong> <strong>de</strong>finir los nombres y los<br />

adjetivos <strong>de</strong>finiéndolos previamente<br />

Desambiguando en Inform 6<br />

como <strong>de</strong> costumbre, vamos a mirarlos<br />

paso a paso con la función parse_name.<br />

Nextword(); <strong>de</strong>vuelve el valor <strong>de</strong> la<br />

siguiente palabra escrita,<br />

consecutivamente. Como la primera es<br />

el verbo (o cualquier texto conector <strong>de</strong><br />

la gramática; o cualquier palabra<br />

supérflua que el parser <strong>de</strong>carte, como un<br />

artículo), el primer Nextword() leerá la<br />

<strong>SPAC</strong> – Octubre 2010 / 47

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

Saved successfully!

Ooh no, something went wrong!