Bug #43

Pb interpretation du compilateur?

Added by Anonymous almost 17 years ago. Updated almost 17 years ago.

Status:NewStart date:
Priority:LowDue date:
Assignee:Alain Prouté% 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...

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux