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 |
|