<p dir="ltr">On Nov 8, 2015 4:43 AM, "Marius Ungureanu" <<a href="mailto:therzok@gmail.com">therzok@gmail.com</a>> wrote:<br>
><br>
> Salut,<br>
><br>
> Avem cazul in care avem un dispatch, iar primul argument este de tip substring:<br>
><br>
> * Caz real: [hello [3, 5].length]<br>
> * Caz teoretic: [expresie argument]<br>
><br>
> Gramatica define ambigua in acest context pentru ca am avea 2 cazuri<br>
> de conflict:<br>
><br>
> [expresie <inceput de dispatch>]<br>
> sau<br>
> [expresie_substring]<br>
><br>
<br>
Vreau sa clarific. Poate sa faca shift si sa intre in continuare de substring sau face reduce pentru ca incepe un dispatch si va parsa urmatorul termen.</p>
<p dir="ltr">[hello[</p>
<p dir="ltr">Poate fi:</p>
<p dir="ltr">[expresie <inceput argument dispatch>]<br>
[expresie <inceput substring>]</p>
<p dir="ltr">Nu vad nicio solutie prin care se poate rezolva ambiguitatea in Bison, ambele cazuri fiind pertinente si nefiind vorba de prioritate a operatorilor de stanga (avand aceeasi prioritate definita in manual).</p>
<p dir="ltr">Acelasi conflict exista si pentru implementarea vectorilor.</p>
<p dir="ltr">O solutie care ar fi simpla din punct de vedere sintactic, dar ar schimba toata tema ar fi ca primul argument al unui dispatch sa fie delimitat de metoda apelata printr-un separator. I.e. ':' cum face si objc.</p>
<p dir="ltr">Multumesc,<br>
Marius</p>