=== Phase C Analyse Sémantique === === new SemanticTree === = Affichage des Identificateurs : Test2 (klasse), d(field), e(field), f(field), Start(method), y(formal), Test3 (klasse), b(field), c(field), Test4 (klasse), a(field), = Affichage des portées : Test2{Start{}}Test3{}Test4{} = Affichage des identificateurs dans leur portée : Test2{d(field), e(field), f(field), Start{y(formal), }}Test3{b(field), c(field), }Test4{a(field), } = Table des symboles (passe1) Scope Root class Test109 extends Object class Object extends null class Test4 extends Object class Test3 extends Test4 class Test2 extends Test3 Scope Object boolean equals(Object this, Object argEquals) Scope equals_args Object argEquals Object this Scope equals Scope Test109 void main(String[] args) Scope main_args String[] args Scope main Scope Test2 int Start(Test2 this, int y) int d int[] e int[] f Scope Start_args Test2 this int y Scope Start Scope Test3 int b boolean c Scope Test4 int a = Table des Symboles (passe2) Scope Root class Test109 extends Object class Object extends null class Test4 extends Object class Test3 extends Test4 class Test2 extends Test3 Scope Object boolean equals(Object this, Object argEquals) Scope equals_args Object argEquals Object this Scope equals Scope Test109 void main(String[] args) Scope main_args String[] args Scope main Scope Test4 int a Scope Test3 int b boolean c Scope Test2 int Start(Test2 this, int y) int d int[] e int[] f Scope Start_args Test2 this int y Scope Start = Liste des variables [Object argEquals, Object this, String[] args, int a, int b, boolean c, int d, int[] e, int[] f, Test2 this, int y] = Contrôle de typage = Contrôle de définitions : identificateurs non définis = Contrôle de définitions : variables inutilisées [Object argEquals, Object this, String[] args, int b, boolean c, int y]