010-method-call.clap

15 views
Skip to first unread message

Isabelle Richard

unread,
Jun 1, 2012, 4:38:39 PM6/1/12
to compilation-lic...@googlegroups.com
Bonsoir,

Je suppose que pour le test "010-method-call.clap", la fonction "Interpreter.expression" est censée entrer dans le cas "MethodCall (e, ty_args, args)" ?

Si oui, j'ai une autre question :
Que faut-il utiliser dans le parser pour la règle "postfix_expression := infix_expression value_identifier" ?
J'utilisais la fonction "Sugar.access_object", mais celle-ci renvoie un Val et pas un MethodCall.

Merci

Jerome Tonnellier

unread,
Jun 1, 2012, 5:17:37 PM6/1/12
to compilation-lic...@googlegroups.com
Bonsoir,

je pense que justement, il y a pas de MethodCall pour ce test car dans ce cas "val x = a m". Il n'y a pas de parenthèses autour du paramètre qui est en plus à gauche du nom de la fonction. Or il en faut ( parenthèses )pour avoir un MethodCall il me semble.

J'ai aussi utilisé la fonction access_object pour posfix_expression si ça peut te rassurer.

Sinon je sais pas quoi te dire d'autre :-)

Jérôme.

Jerome Tonnellier

unread,
Jun 1, 2012, 5:21:13 PM6/1/12
to compilation-lic...@googlegroups.com
"val z = x ()"

ça c'est un MethodCall...

Isabelle Richard

unread,
Jun 1, 2012, 5:28:58 PM6/1/12
to compilation-lic...@googlegroups.com
Merci pour ce petit rappel, je commençais un peu à m'y perdre !
Mon problème avec ce test viendrait donc de la manière dont je traite le cas "Val" ?

J'obtiens :
{
  <predefined.Object>
  predefined
  system
  test = {
    <predefined.Object>
    a = { <predefined.Object> m = 42 }
    x = { <predefined.Object> m = 42 apply = 42 }
  }
}
alors qu'il faut obtenir ça : 
{
  <predefined.Object>
  predefined
  system
  test = {
    <predefined.Object>
    a = { <predefined.Object> m = 42 }
    x = { <predefined.Int> 42 }
  }
}


Le 1 juin 2012 23:21, Jerome Tonnellier <jerome.t...@gmail.com> a écrit :
"val z = x ()"

ça c'est un MethodCall...




--
Isabelle

Jerome Tonnellier

unread,
Jun 1, 2012, 5:34:54 PM6/1/12
to compilation-lic...@googlegroups.com
>Mon problème avec ce test viendrait donc de la manière dont je traite le cas "Val" ?

Je crois bien.

Pour tout te dire j'en suis au même point que toi, j'ai le même résultat...

Yann Régis-Gianas

unread,
Jun 2, 2012, 4:10:32 PM6/2/12
to compilation-lic...@googlegroups.com
2012/6/1 Jerome Tonnellier <jerome.t...@gmail.com>:
> J'ai aussi utilisé la fonction access_object pour posfix_expression si ça
> peut te rassurer.

Non, un postfix_expression est un appel de méthode.

a m

se lit

a.m ()

--
YRG

Isabelle Richard

unread,
Jun 2, 2012, 7:18:25 PM6/2/12
to compilation-lic...@googlegroups.com
Merci pour cette précision, ça permet d'y voir plus clair et surtout de faire passer pas mal de tests !
--
Isabelle

Reply all
Reply to author
Forward
0 new messages