<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-17 23:14 GMT+00:00 Balan Victor <span dir="ltr"><<a href="mailto:balan.victor0@gmail.com" target="_blank">balan.victor0@gmail.com</a>></span>:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 17 marzo 2014 23:29, enrico franchi <span dir="ltr"><<a href="mailto:enrico.franchi@gmail.com" target="_blank">enrico.franchi@gmail.com</a>></span> ha scritto:<div class="">

<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2014-03-17 21:57 GMT+00:00 Balan Victor <span dir="ltr"><<a href="mailto:balan.victor0@gmail.com" target="_blank">balan.victor0@gmail.com</a>></span>:<div>


<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Conosco i rischi di eval e vorrei evitare di usarlo però non riesco a trovare nulla di altrettanto semplice e con le stesse potenzialità.</div>





<div></div></blockquote></div></div><br>La soluzione 'semplice' e' scrivere un piccolo parser per le espressioni che ti servono.</div><div class="gmail_extra">E' meno complicato di quello che sembra, e' molto robusto perche' hai il completo controllo e non hai rischi.</div>




<div class="gmail_extra"><br></div></div></blockquote></div><div>Ci avevo pensato però non ho trovato granché che mi aiutasse a fare qualche prova. Inoltre visto che l'utente, se ha bisogno, può definire oggetti di vario tipo per essere usati come value può anche definire una funzione check per l'oggetto e dentro la stringa da passare ad eval può scrivere "value.check()". Questo come lo gestisco nel parser? E come li passo value ? Questo è un caso estremo, però può accedere. I</div>


<div><br></div><div>In ogni caso mi accontento di farlo funzionare solo con int, float, bool, string e datetime però non so da dove cominciare.</div></div></div></div></blockquote><div><br></div><div><br></div><div>Ehm.. con la grammatica del linguaggio che vuoi parsare.</div>

<div><br></div><div>Ma lascia che te lo dica... secondo me rischi di ficcarti in un mezzo ginepraio. Il fatto che tu abbia bisogno di questo secondo campo cosi' flessibile non ottimo indice che le cose saranno facili.</div>

<div><br></div><div>Per il resto puoi definirti un linguaggio che fa tutto quello che ti pare, ma non sarebbe meglio limitarsi ad un set di check prefabbricati?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class=""><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"></div><div class="gmail_extra">Altrimenti Python viene con un po' di librerie per parsare python. Il problema e' che una completa sandbox e' (l'ultima volta che mi ero informato) essenzialmente impossibile per come funziona Python. Quindi hai comunque rischi.</div>


</div></blockquote></div><div>tipo pyparser? L'ho guardato ma la documentazione non mi sembra molto chiara e sembra che sia stato abbandonato ... </div></div></div></div></blockquote><div><br></div><div>No, quello ti serve per scrivere un parser. Uno dei tanti tool per farlo. </div>

<div> </div></div>-- <br> .<br>..: -enrico-
</div></div>