Bonjour à tous.
J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe sur
la priorité des opérateurs logique, en particulier sur && et ||.
J'ai bien trouvé page 63 la note 53 disant "The precedence of operators is
not directly specified, but it can be derived from the syntax."
mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre ou
si au contraire ils ont tout les deux la même priorité (ce que j'ai
toujours pensé).
Bonjour à tous. J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe sur la priorité des opérateurs logique, en particulier sur && et ||. J'ai bien trouvé page 63 la note 53 disant "The precedence of operators is not directly specified, but it can be derived from the syntax." mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre ou si au contraire ils ont tout les deux la même priorité (ce que j'ai toujours pensé).
Bonjour à tous.
J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe sur
la priorité des opérateurs logique, en particulier sur && et ||.
J'ai bien trouvé page 63 la note 53 disant "The precedence of operators is
not directly specified, but it can be derived from the syntax."
mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre ou
si au contraire ils ont tout les deux la même priorité (ce que j'ai
toujours pensé).
Donc || a priorite sur && puisque la grammaire dit que les arguments de ||
c'est des logical-AND-expression.
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Bonjour à tous. J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe sur la priorité des opérateurs logique, en particulier sur && et ||. J'ai bien trouvé page 63 la note 53 disant "The precedence of operators is not directly specified, but it can be derived from the syntax." mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre ou si au contraire ils ont tout les deux la même priorité (ce que j'ai toujours pensé).
On Tue, 26 Aug 2008 11:29:16 +0200, Jean-Marc Bourguet wrote:
David Côme writes:
Bonjour à tous. J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe sur la priorité des opérateurs logique, en particulier sur && et ||. J'ai bien trouvé page 63 la note 53 disant "The precedence of operators is not directly specified, but it can be derived from the syntax." mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre ou si au contraire ils ont tout les deux la même priorité (ce que j'ai toujours pensé).
Donc || a priorite sur && puisque la grammaire dit que les arguments de || c'est des logical-AND-expression.
Ok, merci beaucoup.
On Tue, 26 Aug 2008 11:29:16 +0200, Jean-Marc Bourguet <jm@bourguet.org>
wrote:
David Côme <davidcome@wanadoo.fr> writes:
Bonjour à tous.
J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe
sur
la priorité des opérateurs logique, en particulier sur && et ||.
J'ai bien trouvé page 63 la note 53 disant "The precedence of operators
is
not directly specified, but it can be derived from the syntax."
mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre
ou
si au contraire ils ont tout les deux la même priorité (ce que j'ai
toujours pensé).
On Tue, 26 Aug 2008 11:29:16 +0200, Jean-Marc Bourguet wrote:
David Côme writes:
Bonjour à tous. J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe sur la priorité des opérateurs logique, en particulier sur && et ||. J'ai bien trouvé page 63 la note 53 disant "The precedence of operators is not directly specified, but it can be derived from the syntax." mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre ou si au contraire ils ont tout les deux la même priorité (ce que j'ai toujours pensé).
Donc || a priorite sur && puisque la grammaire dit que les arguments de || c'est des logical-AND-expression.
Generalement, on dit le contraire a partir de ce bout de grammaire. Je ne sais pas si tu t'es trompe, ou si tu t'exprimes a l'envers, je presume le 2e.
Enfin bon, pour etre sur.
Si on a
a && b || c && d
ca marche comme si c'etait parenthese (a && b) || (c && d)
In article <pxbr68c15w3.fsf@news.bourguet.org>,
Jean-Marc Bourguet <jm@bourguet.org> wrote:
Donc || a priorite sur && puisque la grammaire dit que les arguments de ||
c'est des logical-AND-expression.
Generalement, on dit le contraire a partir de ce bout de grammaire.
Je ne sais pas si tu t'es trompe, ou si tu t'exprimes a l'envers, je
presume le 2e.
Enfin bon, pour etre sur.
Si on a
a && b || c && d
ca marche comme si c'etait parenthese
(a && b) || (c && d)
Donc || a priorite sur && puisque la grammaire dit que les arguments de || c'est des logical-AND-expression.
Generalement, on dit le contraire a partir de ce bout de grammaire. Je ne sais pas si tu t'es trompe, ou si tu t'exprimes a l'envers, je presume le 2e.
Enfin bon, pour etre sur.
Si on a
a && b || c && d
ca marche comme si c'etait parenthese (a && b) || (c && d)
espie
In article <g90kbr$1v29$, Marc Espie wrote:
Si on a
a && b || c && d
ca marche comme si c'etait parenthese (a && b) || (c && d)
Une facon mnemotechnique de s'en souvenir (qui marche pour moi), c'est de voir le && comme une sorte de produit logique (ca ne marche que si les 2 conditions sont remplies) et le ou comme une sorte d'addition logique (l'un ou l'autre, ca marche deux fois plus souvent).
Si on a un langage qui met les deux operations sur des niveaux de priorites differents, il les classe donc en fonction.
... meme si, oui, en fait, les regles d'algebre de boole sont parfaitement symetriques, et que la negation est un isomorphisme de (bool, &&, ||) sur (bool, ||, &&).
In article <g90kbr$1v29$1@biggoron.nerim.net>,
Marc Espie <espie@nerim.net> wrote:
Si on a
a && b || c && d
ca marche comme si c'etait parenthese
(a && b) || (c && d)
Une facon mnemotechnique de s'en souvenir (qui marche pour moi),
c'est de voir le && comme une sorte de produit logique
(ca ne marche que si les 2 conditions sont remplies) et le ou comme
une sorte d'addition logique (l'un ou l'autre, ca marche deux fois
plus souvent).
Si on a un langage qui met les deux operations sur des niveaux de
priorites differents, il les classe donc en fonction.
... meme si, oui, en fait, les regles d'algebre de boole sont parfaitement
symetriques, et que la negation est un isomorphisme de (bool, &&, ||) sur
(bool, ||, &&).
ca marche comme si c'etait parenthese (a && b) || (c && d)
Une facon mnemotechnique de s'en souvenir (qui marche pour moi), c'est de voir le && comme une sorte de produit logique (ca ne marche que si les 2 conditions sont remplies) et le ou comme une sorte d'addition logique (l'un ou l'autre, ca marche deux fois plus souvent).
Si on a un langage qui met les deux operations sur des niveaux de priorites differents, il les classe donc en fonction.
... meme si, oui, en fait, les regles d'algebre de boole sont parfaitement symetriques, et que la negation est un isomorphisme de (bool, &&, ||) sur (bool, ||, &&).
Jean-Marc Bourguet
(Marc Espie) writes:
In article , Jean-Marc Bourguet wrote: >logical-AND-expression: > inclusive-OR-expression > logical-AND-expression && inclusive-OR-expression > >logical-OR-expression: > logical-AND-expression > logical-OR-expression || logical-AND-expression > >Donc || a priorite sur && puisque la grammaire dit que les arguments de || >c'est des logical-AND-expression.
Generalement, on dit le contraire a partir de ce bout de grammaire. Je ne sais pas si tu t'es trompe, ou si tu t'exprimes a l'envers, je presume le 2e.
Un peu des deux, je me suis exprime a l'envers (je savais que les && s'effectuent avant), mais involontairement (je sais ce qu'etre plus prioritaire veut dire).
In article <pxbr68c15w3.fsf@news.bourguet.org>,
Jean-Marc Bourguet <jm@bourguet.org> wrote:
>logical-AND-expression:
> inclusive-OR-expression
> logical-AND-expression && inclusive-OR-expression
>
>logical-OR-expression:
> logical-AND-expression
> logical-OR-expression || logical-AND-expression
>
>Donc || a priorite sur && puisque la grammaire dit que les arguments de ||
>c'est des logical-AND-expression.
Generalement, on dit le contraire a partir de ce bout de grammaire.
Je ne sais pas si tu t'es trompe, ou si tu t'exprimes a l'envers, je
presume le 2e.
Un peu des deux, je me suis exprime a l'envers (je savais que les &&
s'effectuent avant), mais involontairement (je sais ce qu'etre plus
prioritaire veut dire).
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
In article , Jean-Marc Bourguet wrote: >logical-AND-expression: > inclusive-OR-expression > logical-AND-expression && inclusive-OR-expression > >logical-OR-expression: > logical-AND-expression > logical-OR-expression || logical-AND-expression > >Donc || a priorite sur && puisque la grammaire dit que les arguments de || >c'est des logical-AND-expression.
Generalement, on dit le contraire a partir de ce bout de grammaire. Je ne sais pas si tu t'es trompe, ou si tu t'exprimes a l'envers, je presume le 2e.
Un peu des deux, je me suis exprime a l'envers (je savais que les && s'effectuent avant), mais involontairement (je sais ce qu'etre plus prioritaire veut dire).
In article <g90kbr$1v29$, Marc Espie wrote: >Si on a > >a && b || c && d > >ca marche comme si c'etait parenthese >(a && b) || (c && d)
Une facon mnemotechnique de s'en souvenir (qui marche pour moi), c'est de voir le && comme une sorte de produit logique (ca ne marche que si les 2 conditions sont remplies) et le ou comme une sorte d'addition logique (l'un ou l'autre, ca marche deux fois plus souvent).
C'est comme ca que je retiens aussi (0 = false, 0 != true et on a la table correcte).
Si on a un langage qui met les deux operations sur des niveaux de priorites differents, il les classe donc en fonction.
... meme si, oui, en fait, les regles d'algebre de boole sont parfaitement symetriques, et que la negation est un isomorphisme de (bool, &&, ||) sur (bool, ||, &&).
Ada a les operateurs correspondant de meme priorite mais non associatif entre eux, donc si tu veux les combiner, tu dois mettre des parentheses.
In article <g90kbr$1v29$1@biggoron.nerim.net>,
Marc Espie <espie@nerim.net> wrote:
>Si on a
>
>a && b || c && d
>
>ca marche comme si c'etait parenthese
>(a && b) || (c && d)
Une facon mnemotechnique de s'en souvenir (qui marche pour moi),
c'est de voir le && comme une sorte de produit logique
(ca ne marche que si les 2 conditions sont remplies) et le ou comme
une sorte d'addition logique (l'un ou l'autre, ca marche deux fois
plus souvent).
C'est comme ca que je retiens aussi (0 = false, 0 != true et on a la table
correcte).
Si on a un langage qui met les deux operations sur des niveaux de
priorites differents, il les classe donc en fonction.
... meme si, oui, en fait, les regles d'algebre de boole sont parfaitement
symetriques, et que la negation est un isomorphisme de (bool, &&, ||) sur
(bool, ||, &&).
Ada a les operateurs correspondant de meme priorite mais non associatif
entre eux, donc si tu veux les combiner, tu dois mettre des parentheses.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
In article <g90kbr$1v29$, Marc Espie wrote: >Si on a > >a && b || c && d > >ca marche comme si c'etait parenthese >(a && b) || (c && d)
Une facon mnemotechnique de s'en souvenir (qui marche pour moi), c'est de voir le && comme une sorte de produit logique (ca ne marche que si les 2 conditions sont remplies) et le ou comme une sorte d'addition logique (l'un ou l'autre, ca marche deux fois plus souvent).
C'est comme ca que je retiens aussi (0 = false, 0 != true et on a la table correcte).
Si on a un langage qui met les deux operations sur des niveaux de priorites differents, il les classe donc en fonction.
... meme si, oui, en fait, les regles d'algebre de boole sont parfaitement symetriques, et que la negation est un isomorphisme de (bool, &&, ||) sur (bool, ||, &&).
Ada a les operateurs correspondant de meme priorite mais non associatif entre eux, donc si tu veux les combiner, tu dois mettre des parentheses.
Ada a les operateurs correspondant de meme priorite mais non associatif entre eux, donc si tu veux les combiner, tu dois mettre des parentheses.
Le bourne-shell oublie de mettre des priorites, et les parentheses ont une semantique tres speciale, ce qui fait que c'est pas super-simple d'emploi et pas mega-lisible.
(mais bon, c'est moins grave que pascal et l'absence de court-circuit qui empeche d'utiliser les operateurs logiques pour faire des gardes)
In article <pxbabf010cw.fsf@news.bourguet.org>,
Jean-Marc Bourguet <jm@bourguet.org> wrote:
Ada a les operateurs correspondant de meme priorite mais non associatif
entre eux, donc si tu veux les combiner, tu dois mettre des parentheses.
Le bourne-shell oublie de mettre des priorites, et les parentheses ont
une semantique tres speciale, ce qui fait que c'est pas super-simple
d'emploi et pas mega-lisible.
(mais bon, c'est moins grave que pascal et l'absence de court-circuit
qui empeche d'utiliser les operateurs logiques pour faire des gardes)
Ada a les operateurs correspondant de meme priorite mais non associatif entre eux, donc si tu veux les combiner, tu dois mettre des parentheses.
Le bourne-shell oublie de mettre des priorites, et les parentheses ont une semantique tres speciale, ce qui fait que c'est pas super-simple d'emploi et pas mega-lisible.
(mais bon, c'est moins grave que pascal et l'absence de court-circuit qui empeche d'utiliser les operateurs logiques pour faire des gardes)
Wykaaa
David Côme a écrit :
Bonjour à tous. J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe sur la priorité des opérateurs logique, en particulier sur && et ||. J'ai bien trouvé page 63 la note 53 disant "The precedence of operators is not directly specified, but it can be derived from the syntax." mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre ou si au contraire ils ont tout les deux la même priorité (ce que j'ai toujours pensé).
Merci beaucoup pour vos réponses. David Côme.
Quand on veut faire des programmes de qualité, fiables, lisibles,etc., pour toutes ces "choses" on met les parenthèses qui vont bien sans se prendre la tête avec la norme qui est tout sauf pédagogique (elle n'est pas faite pour cela).
David Côme a écrit :
Bonjour à tous.
J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe
sur la priorité des opérateurs logique, en particulier sur && et ||.
J'ai bien trouvé page 63 la note 53 disant "The precedence of operators
is not directly specified, but it can be derived from the syntax."
mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre
ou si au contraire ils ont tout les deux la même priorité (ce que j'ai
toujours pensé).
Merci beaucoup pour vos réponses.
David Côme.
Quand on veut faire des programmes de qualité, fiables, lisibles,etc.,
pour toutes ces "choses" on met les parenthèses qui vont bien sans se
prendre la tête avec la norme qui est tout sauf pédagogique (elle n'est
pas faite pour cela).
Bonjour à tous. J'ai la norme sous les yeux et je n'arrive pas à trouver un paragraphe sur la priorité des opérateurs logique, en particulier sur && et ||. J'ai bien trouvé page 63 la note 53 disant "The precedence of operators is not directly specified, but it can be derived from the syntax." mais ca ne m'avance pas pour savoir lequel est prioritaire sur l'autre ou si au contraire ils ont tout les deux la même priorité (ce que j'ai toujours pensé).
Merci beaucoup pour vos réponses. David Côme.
Quand on veut faire des programmes de qualité, fiables, lisibles,etc., pour toutes ces "choses" on met les parenthèses qui vont bien sans se prendre la tête avec la norme qui est tout sauf pédagogique (elle n'est pas faite pour cela).
David Côme
On Wed, 27 Aug 2008 18:49:00 +0200, Wykaaa wrote:
Quand on veut faire des programmes de qualité, fiables, lisibles,etc., pour toutes ces "choses" on met les parenthèses qui vont bien sans se prendre la tête avec la norme qui est tout sauf pédagogique (elle n'est pas faite pour cela).
Ce n'est pas pour mes programmes, mais pour avoir des arguments dans un débat. Car ma version g++ (4.3.1) émet un warning comme quoi il manque des (), ce que je trouve normal mais ce qui choque mon interlocuteur.
On Wed, 27 Aug 2008 18:49:00 +0200, Wykaaa <wykaaa@yahoo.fr> wrote:
Quand on veut faire des programmes de qualité, fiables, lisibles,etc.,
pour toutes ces "choses" on met les parenthèses qui vont bien sans se
prendre la tête avec la norme qui est tout sauf pédagogique (elle n'est
pas faite pour cela).
Ce n'est pas pour mes programmes, mais pour avoir des arguments dans un
débat. Car ma version g++ (4.3.1) émet un warning comme quoi il manque des
(), ce que je trouve normal mais ce qui choque mon interlocuteur.
Quand on veut faire des programmes de qualité, fiables, lisibles,etc., pour toutes ces "choses" on met les parenthèses qui vont bien sans se prendre la tête avec la norme qui est tout sauf pédagogique (elle n'est pas faite pour cela).
Ce n'est pas pour mes programmes, mais pour avoir des arguments dans un débat. Car ma version g++ (4.3.1) émet un warning comme quoi il manque des (), ce que je trouve normal mais ce qui choque mon interlocuteur.
Wykaaa
David Côme a écrit :
On Wed, 27 Aug 2008 18:49:00 +0200, Wykaaa wrote:
Quand on veut faire des programmes de qualité, fiables, lisibles,etc., pour toutes ces "choses" on met les parenthèses qui vont bien sans se prendre la tête avec la norme qui est tout sauf pédagogique (elle n'est pas faite pour cela).
Ce n'est pas pour mes programmes, mais pour avoir des arguments dans un débat. Car ma version g++ (4.3.1) émet un warning comme quoi il manque des (), ce que je trouve normal mais ce qui choque mon interlocuteur.
OK, mais finalement g++ apporte de l'eau à mon moulin :-)
David Côme a écrit :
On Wed, 27 Aug 2008 18:49:00 +0200, Wykaaa <wykaaa@yahoo.fr> wrote:
Quand on veut faire des programmes de qualité, fiables, lisibles,etc.,
pour toutes ces "choses" on met les parenthèses qui vont bien sans se
prendre la tête avec la norme qui est tout sauf pédagogique (elle
n'est pas faite pour cela).
Ce n'est pas pour mes programmes, mais pour avoir des arguments dans un
débat. Car ma version g++ (4.3.1) émet un warning comme quoi il manque
des (), ce que je trouve normal mais ce qui choque mon interlocuteur.
OK, mais finalement g++ apporte de l'eau à mon moulin :-)
Quand on veut faire des programmes de qualité, fiables, lisibles,etc., pour toutes ces "choses" on met les parenthèses qui vont bien sans se prendre la tête avec la norme qui est tout sauf pédagogique (elle n'est pas faite pour cela).
Ce n'est pas pour mes programmes, mais pour avoir des arguments dans un débat. Car ma version g++ (4.3.1) émet un warning comme quoi il manque des (), ce que je trouve normal mais ce qui choque mon interlocuteur.
OK, mais finalement g++ apporte de l'eau à mon moulin :-)