[so] Arbore

Catalin Iacob iacobcatalin at gmail.com
Mon Oct 29 13:31:25 EET 2007


On Monday 29 October 2007 11:13:12 Sturzu Antonio Gabriel wrote:
> Intrebare:
> Prioritatea operatorilor e chiar cea care apare in
> arborele sintactic?Ar fi logic sa fie asa.

Nu prea inteleg ce vrei sa spui.

In enuntul temei se spune care e prioritatea operatorilor. Arborele e 
construit de parser incat sa tina cont de prioritatea din enunt.

Exemplu.
Daca scriu A && B | C, faptul ca | are prioritate mai mare decat && inseamna 
ca respectiva comanda trebuie executata ca si cum ar fi A && (B | C), adica: 
execut A si daca A are ca rezultat un cod de eroare 0 execut B si C cu 
output-ul lui B redirectat ca input al lui C. Arborele va fi cu && in 
radacina, copil stanga A, copil dreapta nod de tip | cu B si C drept copii. 
Si asta reflecta corect prioritatea din enunt.

In comentariile din parser.h exista urmatoarea fraza care s-ar putea sa fie 
importanta pentru modul in care va ganditi parcurgerea arborelui.
" The parsed expressions do not contain parantheses, this means that
  the following holds:
  for any op_lower that has a lower priority than op, there is no
  parent in the tree with op == op_lower
  In particular, if op == OP_PIPE descendants
  can only have OP_PIPE or OP_NONE
"

Daca nu am raspuns la ceea ce voiai tu te rog revino cu intrebarea mai clar 
formulata.


More information about the so mailing list