Bonjour à tous

J'ai un travail à faire qui doit être de fabriquer un analyse lexicale.

Je suis rendu à la classe Grammaire.

Voici l'énoncé :

Cette classe représente une grammaire. Elle est composée d’une liste à chaînage dynamique de type ListeSimpleDynamique dans laquelle vous mettrez des objets de type RegleGrammaire. Le type ListeSimpleDynamique doit implémenter un type interface IListeSimple.
Ce que je ne comprend pas, c'est de représenté un ListeSimpleDynamique avec ceci comme type....

Voilà alors la manipulation que j'ai fait. Dites-moi, est-ce bien une liste simple dynamique que j'ai fait ? Je ne suis vraiment pas assuré.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
public class Grammaire implements IListeSimple {
 
	private Noeud debut;
	private Noeud fin;
	private int nbElements = 0;
 
	public Grammaire() {
	};
 
	public void ajouterElement(Object element) {
		if (nbElements == 0) {
			debut = new Noeud(element, null);
			fin = debut;
		} else {
			fin.suivant = new Noeud(element, null);
			fin = fin.suivant;
		}
 
		nbElements++;
	}
 
	public boolean estVide() {
		return nbElements == 0;
	}
 
	public void setNbElements(int nbElements) {
		this.nbElements = nbElements;
	}
	public int getNbElements() {
		return nbElements;
	}
 
	public void vider() {
 
		debut = null; 
		fin = null;
		setNbElements(0) ;
	}
 
	public Object getElement(int n)
	{
		Noeud position = debut;
		int i = 0;
 
		while(i != n && position != null)
		{
			position = position.suivant;
			i++;
		}
 
		if (position != null)
			return position.element;
 
		return null;
 
	}
 
	public boolean regleExiste(RegleGrammaire regle)
	{
		return false;
 
	}
 
	private class Noeud {
		private Object element;
		private Noeud suivant;
 
		public Noeud(Object element, Noeud suivant) {
			this.element = element;
			this.suivant = suivant;
		}
	}
}