https://wiki.haskell.org/index.php?title=Cum_scriem_un_parser_care_accepta_un_string_daca_contine_o_anumita_litera%3F&feed=atom&action=history
Cum scriem un parser care accepta un string daca contine o anumita litera? - Revision history
2024-03-29T13:44:19Z
Revision history for this page on the wiki
MediaWiki 1.35.5
https://wiki.haskell.org/index.php?title=Cum_scriem_un_parser_care_accepta_un_string_daca_contine_o_anumita_litera%3F&diff=19012&oldid=prev
Ha$kell at 14:42, 10 February 2008
2008-02-10T14:42:56Z
<p></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 14:42, 10 February 2008</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Ro]] </div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Nu sunt convins ca acesta este rolul unui parser. <br></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Nu sunt convins ca acesta este rolul unui parser. <br></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Totusi puteti scrie un asemenea parser. Ar putea fi <br></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Totusi puteti scrie un asemenea parser. Ar putea fi <br></div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 31:</td>
<td colspan="2" class="diff-lineno">Line 33:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>ca unul primitiv. Trebuie inclus IN biblioteca, daca <br></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>ca unul primitiv. Trebuie inclus IN biblioteca, daca <br></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>aceasta nu exporta constructorul Parser. <br></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>aceasta nu exporta constructorul Parser. <br></div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In exemplele noastre functia care aplica un parser era ''parse'' nu ''papply'' ca cea din biblioteca ParseLib.</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In exemplele noastre functia care aplica un parser era ''parse'' nu ''papply'' ca cea din biblioteca ParseLib.<ins class="diffchange diffchange-inline"> </ins></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>----</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Pagina indexata la indexul [[Category:Ro]] [http://www.haskell.org/haskellwiki/Category:Ro Categories:Ro]</div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>----</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>----</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell ]</div></td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell<ins class="diffchange diffchange-inline">.</ins> ]<ins class="diffchange diffchange-inline"><br> <br></ins></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty"> </td>
<td class="diff-marker">+</td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[http://www.haskell.org/haskellwiki/Intrebarile_incepatorului <'''-''' Inapoi la inceputul paginii 'Intrebarile incepatorului Ro/Haskell'. ]</div></td>
</tr>
</table>
Ha$kell
https://wiki.haskell.org/index.php?title=Cum_scriem_un_parser_care_accepta_un_string_daca_contine_o_anumita_litera%3F&diff=17609&oldid=prev
Ha$kell at 22:29, 16 December 2007
2007-12-16T22:29:26Z
<p></p>
<p><b>New page</b></p><div>Nu sunt convins ca acesta este rolul unui parser. <br><br />
Totusi puteti scrie un asemenea parser. Ar putea fi <br><br />
unul din acei stranii "parseri pentru analiza lexicala". <br><br />
De exemplu pentru a verifica faptul ca un final de mesaj <br><br />
are un punct sau un @. <br><br />
<br />
----<br />
Includeti-l in lucrarea de laborator FrontEnd.hs <br><br />
Iata-l: Un parser care accepta un cuvant daca el contine o litera <br><br />
<haskell><br />
fitem c = Parser (\xs -> case xs of <br />
"" -> []<br />
_ -> if c `elem` xs then [(xs,[])]<br />
else []<br />
)<br />
<br />
</haskell><br />
----<br />
Si iata cum ar functiona: <br><br />
{-- <br><br />
FrontEnd2> parse (fitem '2') "LaMultiAni2008!" <br><br />
[("LaMultiAni2008!","")] <br><br />
FrontEnd2> parse (fitem '9') "LaMultiAni2008!" <br><br />
[] <br><br />
FrontEnd2> [Leaving Hugs] <br><br />
[dan@localhost 9-aug2006-10-interpretoare-HUGS]$ <br><br />
<br />
--}<br />
----<br />
'''Nota:''' Remarcati ca nu e un parser compus din altele ci scris <br><br />
ca unul primitiv. Trebuie inclus IN biblioteca, daca <br><br />
aceasta nu exporta constructorul Parser. <br><br />
In exemplele noastre functia care aplica un parser era ''parse'' nu ''papply'' ca cea din biblioteca ParseLib.<br />
----<br />
[http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell ]</div>
Ha$kell