Compilation 2005/2006 |
|||||
French only |
|||||
|
Afin que vous puissiez vous familiariser un peu plus avec le langage Zwei, nous vous fournissons un petit interpréteur. Son utilisation est très simple:
Cet interpréteur se place avant le typage des programmes.
Il se peut donc que certains programmes mal typés donnent lieu
à des erreurs d'exécution. En revanche, les programmes bien typés ne
devraient pas produire d'erreurs à l'exécution (si ce n'est
peut-être des sélections ou des appels de méthode sur la valeur
Le fichier Voici le résultat de son interprétation:
$ zweiint Factorial.zwei
120
120
120
L'expression suivante est un exemple de programme Zwei mal typé (la variable x n'est pas définie avant d'être utilisée) qui donne lieu à une erreur à l'exécution:
$ cat Example.zwei
x
$ zweiint Example.zwei
Exception in thread "main" java.lang.Error: unbound variable: x
at scala.Predef$.error(Predef.scala:128)
at zweic.Interpreter$.findEnv(Interpreter.scala:21)
at zweic.Interpreter$.zweic$Interpreter$eval_expr$0(Interpreter.scala:144)
[...]
Pour finir, voici l'exemple d'un programme Zwei mal typé (la
méthode
$ cat Example.zwei
class A {
Int x;
}
class B {
Int x;
Int equal(B that) {
return this.x == that.x
}
}
{
printInt(new B(1).equal(new A(2)));
printChar(10);
}
$ zweiint Example.zwei
0
|
|