<div dir="ltr"><div>Ciao,</div><div><br></div><div>non ci sono molte risorse sul parsing e l'implementazione dei linguaggi. È un capitolo poco toccato al giorno d'oggi e ci sono davvero poche persone che sanno implementare un parser per un dato algoritmo.</div><div>Il parsing non è difficile, perchè ci sono librerie e strumenti vari; scrivere la grammatica è la parte che prende più tempo.<br></div><div><br></div><div>Quindi:</div><div>- <a href="https://github.com/lark-parser/lark">https://github.com/lark-parser/lark</a> (LALR+EBNF)</div><div>- <a href="https://medium.com/@gvanrossum_83706/peg-parsers-7ed72462f97c">https://medium.com/@gvanrossum_83706/peg-parsers-7ed72462f97c</a> (Guido sul parser di Python, LALR-simile, e perchè ha senso considerare PEG)</div><div>- <a href="https://martinfowler.com/books/dsl.html">https://martinfowler.com/books/dsl.html</a> (Non ha bisogno di presentazioni!)</div><div>- <a href="https://docs.python.org/3/reference/grammar.html">https://docs.python.org/3/reference/grammar.html</a> (EBNF di Python)</div><div><div>- <a href="https://github.com/storyscript/storyscript/">https://github.com/storyscript/storyscript/</a> (esempio di grammatica EBNF)</div></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno mar 6 ago 2019 alle ore 09:57 daniele visaggio <<a href="mailto:visaggio.daniele@gmail.com">visaggio.daniele@gmail.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Suggerisco <a href="https://tomassetti.me/antlr-mega-tutorial/" target="_blank">https://tomassetti.me/antlr-mega-tutorial/</a> per iniziare con antlr.<br></div><div><br></div><div>Due libri utili sull'argomento sono "Language Implementation Patterns" e "The Definitive ANTLR 4 Reference", entrambi di Terence Parr.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno lun 5 ago 2019 alle ore 22:39 Balan Victor <<a href="mailto:balan.victor0@gmail.com" target="_blank">balan.victor0@gmail.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Il giorno lun 5 ago 2019 alle ore 21:47 Marco Beri <<a href="mailto:marcoberi@gmail.com" target="_blank">marcoberi@gmail.com</a>> ha scritto:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Mon, Aug 5, 2019 at 9:43 PM Balan Victor <<a href="mailto:balan.victor0@gmail.com" target="_blank">balan.victor0@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Ora, prima di partire in guarda e di incartarmi in una serie infinita di for & if, volevo sapere se qualcuno ha qualche approccio particolare da consigliare.<br></div></div></blockquote><div><br></div><div><a href="https://fdik.org/pyPEG/" target="_blank">https://fdik.org/pyPEG/</a></div><div><br></div><div>Ciao.</div><div>Marco.</div></div><div><br></div>-- <br><div dir="ltr" class="gmail-m_-8166951035987283104gmail-m_6877984569640218483gmail-m_2249425803830804968gmail_signature"><div dir="ltr"><div><div><a href="http://beri.it/" target="_blank">http://beri.it/</a> - Un blog</div><div><a href="http://beri.it/i-miei-libri/" target="_blank">http://beri.it/i-miei-libri/</a> - Qualche libro</div><div><span style="font-size:small"><a href="http://beri.it/articoli/" target="_blank">http://beri.it/articoli/</a> - Qualche articolo</span></div></div></div></div></div>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
</blockquote></div><br clear="all"><div><br></div><div>Grazie per il veloce ritorno.</div><div>Ho guardato un po la doc di pyPeg e googlando mi sono imbattuto anche in un suo concorrente(pyParsing) e in ANTRL.</div><div><br></div><div>Se volessi prendere un po di confidenza con concetti con il parsing in generale hai qualche guida/libro(magari anche in italiano) da suggerire?</div></div><div id="gmail-m_-8166951035987283104gmail-m_6877984569640218483DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br> <table style="border-top:1px solid rgb(211,212,222)">
        <tbody><tr>
      <td style="width:55px;padding-top:18px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" style="width: 46px; height: 29px;" width="46" height="29"></a></td>
                <td style="width:470px;padding-top:17px;color:rgb(65,66,78);font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Mail priva di virus. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" style="color:rgb(68,83,234)" target="_blank">www.avast.com</a>             </td>
        </tr>
</tbody></table>
<a href="#m_-8166951035987283104_m_6877984569640218483_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
</blockquote></div>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
</blockquote></div>