Vous êtes sur la page 1sur 3

TP-2

Introduction
Le but du TP Compilation est de réaliser un mini compilateur avec le langage JAVA. Pour
cela, ce TP contiendra :
1. Initiation du langage JAVA.
2. Analyse lexicale d’un langage particulier.
3. Analyse syntaxique selon l’un des analyseurs étudiés en cours.
4. Analyse sémantique du langage donné dans les points précédents.

Voici un exemple de mon premier programme en Java


public class PremProg {
public static void main (String args[]) {
System.out.println ("Mon premier programme Java") ;
}
}
Vous constatez que, globalement, sa structure se présente ainsi1 :
public class PremProg
{ .....
}
Elle correspond théoriquement à la définition d’une classe nommée PremProg. La
première ligne identifie cette classe ; elle est suivie d’un bloc, c’est-à-dire d’instructions
délimitées par des accolades { et } qui définissent le contenu de cette classe. Ici, cette
dernière est réduite à la seule définition d’une "méthode" particulière nommée main.

class
Pour écrire un programme avec un langage orienté-objet, le programmeur écrit
uniquement des classes correspondant aux objets de son système.
class Rectangle {
int longueur; int
largeur; int
origine_x; int
origine_y;

TP-Compilation (Dr. SILMI.S) /3


…..
}

Les traitements à effectuer sont programmés dans les méthodes de ces classes qui
peuvent faire appel à des méthodes d’autres classes. En général, on définit une classe,
dite “exécutable”, dont une méthode peut être appelée pour exécuter le programme.
void deplace(int x, int y) {
this.origine_x = this.origine_x +
x; this.origine_y = this.origine_y
+ y;
}
int surface() {
return this.longueur * this.largeur;
}

A faire : écrire un code qui vous permettre de calculer l’addition et la multiplication


entre deux entiers, et d’afficher les résultats.

Annex : (La classe Scanner - Récupérer ce que vous tapez)

//Ceci importe la classe Scanner du package java.util


import java.util.Scanner;
//Ceci importe toutes les classes du package java.util
import java.util.*;

....
Scanner sc = new Scanner(System.in);
Voici l'instruction pour permettre à Java de récupérer ce que vous avez saisi pour
ensuite l'afficher :
Scanner sc = new Scanner(System.in);
System.out.println("Veuillez saisir un mot :");
String str = sc.nextLine();
System.out.println("Vous avez saisi : " + str);

TP-Compilation (Dr. SILMI.S) /3


… vous devriez constater que lorsque vous introduisez votre variable de type Scanner
et que vous introduisez le point permettant d'appeler des méthodes de l'objet,
Eclipse vous propose une liste de méthodes associées à cet objet; de plus, lorsque
vous commencez à taper le début de la méthode nextInt(), le choix se restreint
jusqu'à ne laisser que cette seule méthode.

Vous savez maintenant que pour lire un int, vous devez utiliser nextInt(). De façon
générale, dites-vous que pour récupérer un type de variable, il vous suffit d'appeler
next<Type de variable commençant par une majuscule> (rappelez-vous de la
convention de nommage Java).
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
double d = sc.nextDouble();
long l = sc.nextLong();
byte b = sc.nextByte();
//Etc.

TP-Compilation (Dr. SILMI.S) /3

Vous aimerez peut-être aussi