Bug #43
Pb interpretation du compilateur?
Status: | New | Start date: | ||
---|---|---|---|---|
Priority: | Low | Due date: | ||
Assignee: | % Done: | 0% | ||
Category: | Compiler | |||
Target version: | - | |||
Platform: | Triage Stage: | |||
Resolution: |
Description
Supposons un type A avec n alternatives
Aa1(...),
Aa2(...),
Aa3(...),
Aan(...)
)
Supposons un type B avec 1 seule alternative Bb(...)
soit a un terme de A et b un terme de B
si je cherche à utiliser la forme condensée de la conditionnelle,
en faisant quelque chose comme
if a is Aa1(...) then
if b is Bb(...) then //conditionnelle à 1 cas (résurgence)
...
else
if a is Aa2(...)
et bien le compilateur me refuse cette orthographe (le fourbe! ;-) )
Il ne perçoit pas le else comme associé à la première condition...
Je peux contourner le problème en écrivant
if b is {
Bb(...) then
...
}
Mais je perds alors le bénéfice du if condensé sur alternative unique. Je soumets ce cas, mais possible est le fait que j'ai râté quelque chose dans la philosophie anubisienne...
History
#1 Updated by Anonymous almost 17 years ago
On peut contourner le problème en mettant des parenthèses :
if a is Aa1(...) then ( if b is Bb(...) then //conditionnelle à 1 cas (résurgence) ... ) else if a is Aa2(...)
Mais ce serait plus simple, en effet, si le compilateur pouvait gérer ça tout seul...