la segmentation d'un sous-tableau dont les indices varient de p à n
ceci est un remaniement d'un sous-tableau tel que si x est inférieur ou égal à un pivot, il se trouvera à gauche de celui-ci, et se trouvera à droite du pivot si il lui est supérieur.
soit T[p] le pivot, le premier élément du sous-tableau
l'invariante de boucle est "si p<x<=i-1 alors T[x]<=T[p] et si j+1<=x<=n alors T[x]>T[p]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 * i= j+1 l'invariant "si p<x<=i-1
bonjour,
Nous allons voir ici une grammaire hors-contexte LL d'une liste où C apparraît au plus une fois.
On a le non-terminal A qui est une liste B avec un C qui apparaît zéro ou une fois. Ici, le point virgule n'est pas la fin de ligne de code mais la séquentialité entre deux lignes
en factorisant à gauche (EPSILON est la production vide):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 A -> B A -> B ; C A -> C ; B A -> B ; C ; B A -> C
Code : Sélectionner tout - Visualiser dans une fenêtre à part A -> B X
nous allons voir ici la suppression des epsilone-productions
Soit le non-terminal N pouvant prendre la forme d'une production vide:
on dit que N est annulable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part N -> c1 | c2 | c3 ... | ck | epsilone
lorsque N est présent dans une production, on a les trois cas suivants:
premier cas
dans ce cas, on supprime les epsilone-production en réécrivant A ainsi;
Code : Sélectionner tout - Visualiser dans une fenêtre à part A -> a N b
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 A->a c1 b ->a c2 b ->a c3
je vais vous parler ici de la fusion de deux listes en une seule, avec la première qui peut être annulable, dans une grammaire LL.
voici une grammaire LL pour une liste associative à gauche 'A', d’éléments 'a' séparés par un séparateur 'sep', sachant que ε est la production vide
idem pour une liste B de 'b' séparés par le même séparateur 'sep'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 A -> a A' A' -> sep a A' -> ε
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 B -> b B' B' -> sep b B' -> ε
Bonjour à tous
Je vais vous montrer comment utiliser les autotools avec Qt.
Je suppose que vous avez quelques bases avec automake et autoconf.
si vous êtes sous ubuntu, installez qt et autres comme ceci:
le fichier configue.ac est le suivant (à modifier en fonction du projet):
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ sudo apt install qt-default automake autoconf build-essential g++ pkg-config moc
Code : Sélectionner tout - Visualiser dans une fenêtre à part # -*- Autoconf -*-