Bonjour
Je voudrais programmer un analyseur syntaxique pour transformer une ligne de
calculs numériques (ex : 2*(4+5/(3-1))) en son résultat.
Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources
ou des algorithmes?
Merci
jfa
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Trognon Patrice
JFA wrote:
Bonjour Je voudrais programmer un analyseur syntaxique pour transformer une ligne de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat. Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources ou des algorithmes? Merci jfa
bonjour,
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur.
par exemple ton expression 2*(4+5/(3-1)) s'écrit en Polonaise Inversé : 1> 2 2> 4 3> 5 4> + 5> 3 6> 1 7> - 8> / 9> *
tout repose sur une gestion de pile, voici l'explication instruction par instruction : 1> place la valeur 2 en pile 2> place la valeur 4 en pile 3> place la valeur 5 en pile 4> applique l'opérateur + sur la valeur 5 et 4, puis place le résultat en pile ta pile est donc : 2 9 après cette operation. 5> place la valeur 3 en pile 6> place la valeur 1 en pile 7> applique l'opérateur - sur la valeur 3 et 1, puis place le résultat en pile. ta pile est donc : 2 9 2 8> applique l'opérateur / sur la valeur 9 et 2, puis place le résultat en pile. ta pile est donc : 2 4.5 9> applique l'opérateur * sur la valeur 2 et 4.5 puis place le résultat en pile. ta pile est donc : 9 ce qui est le résultat.
L'avantage c'est que tu n'as pas à gérer les parenthèses sur l'analyseur syntaxique.
Voila, maintenant si tu veux absolument développer un analyseur syntaxique avec une gestion des parenthèses, regarde du coté de lex / yacc.
-- Cordialement,
Patrice Trognon http://www.javadevel.com
JFA wrote:
Bonjour
Je voudrais programmer un analyseur syntaxique pour transformer une ligne
de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat.
Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources
ou des algorithmes?
Merci
jfa
bonjour,
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé
la notation polonaise inverse, cela simplifie énormément l'écriture de
l'analyseur.
par exemple ton expression 2*(4+5/(3-1)) s'écrit en Polonaise Inversé :
1> 2
2> 4
3> 5
4> +
5> 3
6> 1
7> -
8> /
9> *
tout repose sur une gestion de pile, voici l'explication instruction
par instruction :
1> place la valeur 2 en pile
2> place la valeur 4 en pile
3> place la valeur 5 en pile
4> applique l'opérateur + sur la valeur 5 et 4,
puis place le résultat en pile
ta pile est donc : 2 9 après cette operation.
5> place la valeur 3 en pile
6> place la valeur 1 en pile
7> applique l'opérateur - sur la valeur 3 et 1,
puis place le résultat en pile.
ta pile est donc : 2 9 2
8> applique l'opérateur / sur la valeur 9 et 2,
puis place le résultat en pile.
ta pile est donc : 2 4.5
9> applique l'opérateur * sur la valeur 2 et 4.5
puis place le résultat en pile.
ta pile est donc : 9
ce qui est le résultat.
L'avantage c'est que tu n'as pas à gérer les parenthèses sur l'analyseur
syntaxique.
Voila, maintenant si tu veux absolument développer un analyseur syntaxique
avec une gestion des parenthèses, regarde du coté de lex / yacc.
Bonjour Je voudrais programmer un analyseur syntaxique pour transformer une ligne de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat. Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources ou des algorithmes? Merci jfa
bonjour,
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur.
par exemple ton expression 2*(4+5/(3-1)) s'écrit en Polonaise Inversé : 1> 2 2> 4 3> 5 4> + 5> 3 6> 1 7> - 8> / 9> *
tout repose sur une gestion de pile, voici l'explication instruction par instruction : 1> place la valeur 2 en pile 2> place la valeur 4 en pile 3> place la valeur 5 en pile 4> applique l'opérateur + sur la valeur 5 et 4, puis place le résultat en pile ta pile est donc : 2 9 après cette operation. 5> place la valeur 3 en pile 6> place la valeur 1 en pile 7> applique l'opérateur - sur la valeur 3 et 1, puis place le résultat en pile. ta pile est donc : 2 9 2 8> applique l'opérateur / sur la valeur 9 et 2, puis place le résultat en pile. ta pile est donc : 2 4.5 9> applique l'opérateur * sur la valeur 2 et 4.5 puis place le résultat en pile. ta pile est donc : 9 ce qui est le résultat.
L'avantage c'est que tu n'as pas à gérer les parenthèses sur l'analyseur syntaxique.
Voila, maintenant si tu veux absolument développer un analyseur syntaxique avec une gestion des parenthèses, regarde du coté de lex / yacc.
-- Cordialement,
Patrice Trognon http://www.javadevel.com
jlp
JFA wrote:
Bonjour Je voudrais programmer un analyseur syntaxique pour transformer une ligne de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat. Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources ou des algorithmes? Merci jfa
bonjour,
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur.
par exemple ton expression 2*(4+5/(3-1)) s'écrit en Polonaise Inversé : 1> 2 2> 4 3> 5 4> + 5> 3 6> 1 7> - 8> / 9> *
tout repose sur une gestion de pile, voici l'explication instruction par instruction : 1> place la valeur 2 en pile 2> place la valeur 4 en pile 3> place la valeur 5 en pile 4> applique l'opérateur + sur la valeur 5 et 4, puis place le résultat en pile ta pile est donc : 2 9 après cette operation. 5> place la valeur 3 en pile 6> place la valeur 1 en pile 7> applique l'opérateur - sur la valeur 3 et 1, puis place le résultat en pile. ta pile est donc : 2 9 2 8> applique l'opérateur / sur la valeur 9 et 2, puis place le résultat en pile. ta pile est donc : 2 4.5 9> applique l'opérateur * sur la valeur 2 et 4.5 puis place le résultat en pile. ta pile est donc : 9 ce qui est le résultat.
L'avantage c'est que tu n'as pas à gérer les parenthèses sur l'analyseur syntaxique.
Voila, maintenant si tu veux absolument développer un analyseur syntaxique avec une gestion des parenthèses, regarde du coté de lex / yacc.
ou javacc
JFA wrote:
Bonjour
Je voudrais programmer un analyseur syntaxique pour transformer une ligne
de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat.
Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources
ou des algorithmes?
Merci
jfa
bonjour,
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé
la notation polonaise inverse, cela simplifie énormément l'écriture de
l'analyseur.
par exemple ton expression 2*(4+5/(3-1)) s'écrit en Polonaise Inversé :
1> 2
2> 4
3> 5
4> +
5> 3
6> 1
7> -
8> /
9> *
tout repose sur une gestion de pile, voici l'explication instruction
par instruction :
1> place la valeur 2 en pile
2> place la valeur 4 en pile
3> place la valeur 5 en pile
4> applique l'opérateur + sur la valeur 5 et 4,
puis place le résultat en pile
ta pile est donc : 2 9 après cette operation.
5> place la valeur 3 en pile
6> place la valeur 1 en pile
7> applique l'opérateur - sur la valeur 3 et 1,
puis place le résultat en pile.
ta pile est donc : 2 9 2
8> applique l'opérateur / sur la valeur 9 et 2,
puis place le résultat en pile.
ta pile est donc : 2 4.5
9> applique l'opérateur * sur la valeur 2 et 4.5
puis place le résultat en pile.
ta pile est donc : 9
ce qui est le résultat.
L'avantage c'est que tu n'as pas à gérer les parenthèses sur l'analyseur
syntaxique.
Voila, maintenant si tu veux absolument développer un analyseur syntaxique
avec une gestion des parenthèses, regarde du coté de lex / yacc.
Bonjour Je voudrais programmer un analyseur syntaxique pour transformer une ligne de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat. Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources ou des algorithmes? Merci jfa
bonjour,
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur.
par exemple ton expression 2*(4+5/(3-1)) s'écrit en Polonaise Inversé : 1> 2 2> 4 3> 5 4> + 5> 3 6> 1 7> - 8> / 9> *
tout repose sur une gestion de pile, voici l'explication instruction par instruction : 1> place la valeur 2 en pile 2> place la valeur 4 en pile 3> place la valeur 5 en pile 4> applique l'opérateur + sur la valeur 5 et 4, puis place le résultat en pile ta pile est donc : 2 9 après cette operation. 5> place la valeur 3 en pile 6> place la valeur 1 en pile 7> applique l'opérateur - sur la valeur 3 et 1, puis place le résultat en pile. ta pile est donc : 2 9 2 8> applique l'opérateur / sur la valeur 9 et 2, puis place le résultat en pile. ta pile est donc : 2 4.5 9> applique l'opérateur * sur la valeur 2 et 4.5 puis place le résultat en pile. ta pile est donc : 9 ce qui est le résultat.
L'avantage c'est que tu n'as pas à gérer les parenthèses sur l'analyseur syntaxique.
Voila, maintenant si tu veux absolument développer un analyseur syntaxique avec une gestion des parenthèses, regarde du coté de lex / yacc.
ou javacc
Trognon Patrice
jlp wrote:
JFA wrote:
Bonjour Je voudrais programmer un analyseur syntaxique pour transformer une ligne de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat. Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources ou des algorithmes? Merci jfa
bonjour,
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur.
par exemple ton expression 2*(4+5/(3-1)) s'écrit en Polonaise Inversé : 1> 2 2> 4 3> 5 4> + 5> 3 6> 1 7> - 8> / 9> *
tout repose sur une gestion de pile, voici l'explication instruction par instruction : 1> place la valeur 2 en pile 2> place la valeur 4 en pile 3> place la valeur 5 en pile 4> applique l'opérateur + sur la valeur 5 et 4, puis place le résultat en pile ta pile est donc : 2 9 après cette operation. 5> place la valeur 3 en pile 6> place la valeur 1 en pile 7> applique l'opérateur - sur la valeur 3 et 1, puis place le résultat en pile. ta pile est donc : 2 9 2 8> applique l'opérateur / sur la valeur 9 et 2, puis place le résultat en pile. ta pile est donc : 2 4.5 9> applique l'opérateur * sur la valeur 2 et 4.5 puis place le résultat en pile. ta pile est donc : 9 ce qui est le résultat.
L'avantage c'est que tu n'as pas à gérer les parenthèses sur l'analyseur syntaxique.
Voila, maintenant si tu veux absolument développer un analyseur syntaxique avec une gestion des parenthèses, regarde du coté de lex / yacc.
ou javacc
oups, désolé, j'avais oublié que c'etait le NG java (lol) :)
-- Cordialement,
Patrice Trognon http://wwW.javadevel.com
jlp wrote:
JFA wrote:
Bonjour
Je voudrais programmer un analyseur syntaxique pour transformer une ligne
de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat.
Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des
sources ou des algorithmes?
Merci
jfa
bonjour,
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai
utilisé la notation polonaise inverse, cela simplifie énormément
l'écriture de l'analyseur.
par exemple ton expression 2*(4+5/(3-1)) s'écrit en Polonaise Inversé :
1> 2
2> 4
3> 5
4> +
5> 3
6> 1
7> -
8> /
9> *
tout repose sur une gestion de pile, voici l'explication instruction
par instruction :
1> place la valeur 2 en pile
2> place la valeur 4 en pile
3> place la valeur 5 en pile
4> applique l'opérateur + sur la valeur 5 et 4,
puis place le résultat en pile
ta pile est donc : 2 9 après cette operation.
5> place la valeur 3 en pile
6> place la valeur 1 en pile
7> applique l'opérateur - sur la valeur 3 et 1,
puis place le résultat en pile.
ta pile est donc : 2 9 2
8> applique l'opérateur / sur la valeur 9 et 2,
puis place le résultat en pile.
ta pile est donc : 2 4.5
9> applique l'opérateur * sur la valeur 2 et 4.5
puis place le résultat en pile.
ta pile est donc : 9
ce qui est le résultat.
L'avantage c'est que tu n'as pas à gérer les parenthèses sur l'analyseur
syntaxique.
Voila, maintenant si tu veux absolument développer un analyseur
syntaxique avec une gestion des parenthèses, regarde du coté de lex /
yacc.
ou javacc
oups, désolé, j'avais oublié que c'etait le NG java (lol) :)
Bonjour Je voudrais programmer un analyseur syntaxique pour transformer une ligne de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat. Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources ou des algorithmes? Merci jfa
bonjour,
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur.
par exemple ton expression 2*(4+5/(3-1)) s'écrit en Polonaise Inversé : 1> 2 2> 4 3> 5 4> + 5> 3 6> 1 7> - 8> / 9> *
tout repose sur une gestion de pile, voici l'explication instruction par instruction : 1> place la valeur 2 en pile 2> place la valeur 4 en pile 3> place la valeur 5 en pile 4> applique l'opérateur + sur la valeur 5 et 4, puis place le résultat en pile ta pile est donc : 2 9 après cette operation. 5> place la valeur 3 en pile 6> place la valeur 1 en pile 7> applique l'opérateur - sur la valeur 3 et 1, puis place le résultat en pile. ta pile est donc : 2 9 2 8> applique l'opérateur / sur la valeur 9 et 2, puis place le résultat en pile. ta pile est donc : 2 4.5 9> applique l'opérateur * sur la valeur 2 et 4.5 puis place le résultat en pile. ta pile est donc : 9 ce qui est le résultat.
L'avantage c'est que tu n'as pas à gérer les parenthèses sur l'analyseur syntaxique.
Voila, maintenant si tu veux absolument développer un analyseur syntaxique avec une gestion des parenthèses, regarde du coté de lex / yacc.
ou javacc
oups, désolé, j'avais oublié que c'etait le NG java (lol) :)
-- Cordialement,
Patrice Trognon http://wwW.javadevel.com
SL
JFA wrote:
Bonjour Je voudrais programmer un analyseur syntaxique pour transformer une ligne de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat. Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources ou des algorithmes? Merci jfa
c'est pas un peu tard pour les projets de fin d'annee ?? :)))
-- SL
JFA wrote:
Bonjour
Je voudrais programmer un analyseur syntaxique pour transformer une ligne de
calculs numériques (ex : 2*(4+5/(3-1))) en son résultat.
Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources
ou des algorithmes?
Merci
jfa
c'est pas un peu tard pour les projets de fin d'annee ?? :)))
Bonjour Je voudrais programmer un analyseur syntaxique pour transformer une ligne de calculs numériques (ex : 2*(4+5/(3-1))) en son résultat. Quelqu'un pourrait-il m'orienter vers des adresses de sites ou des sources ou des algorithmes? Merci jfa
c'est pas un peu tard pour les projets de fin d'annee ?? :)))
-- SL
JFA
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur. Merci mais je connais la polonaise. Seulement je vois mal mes élèves de
collège l'utiliser. J'espérai naïvement tomber sur quelqu'un qui aurait programmé un truc dans le genre. jfa
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé
la notation polonaise inverse, cela simplifie énormément l'écriture de
l'analyseur.
Merci mais je connais la polonaise. Seulement je vois mal mes élèves de
collège l'utiliser.
J'espérai naïvement tomber sur quelqu'un qui aurait programmé un truc dans
le genre.
jfa
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur. Merci mais je connais la polonaise. Seulement je vois mal mes élèves de
collège l'utiliser. J'espérai naïvement tomber sur quelqu'un qui aurait programmé un truc dans le genre. jfa
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur. Merci mais je connais la polonaise. Seulement je vois mal mes élèves de
collège l'utiliser. J'espérai naïvement tomber sur quelqu'un qui aurait programmé un truc dans le genre. jfa
"JFA" <jfanws@free.fr> wrote in message
news:428121e8$0$3168$626a14ce@news.free.fr...
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai
utilisé
la notation polonaise inverse, cela simplifie énormément l'écriture de
l'analyseur.
Merci mais je connais la polonaise. Seulement je vois mal mes élèves de
collège l'utiliser.
J'espérai naïvement tomber sur quelqu'un qui aurait programmé un truc dans
le genre.
jfa
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur. Merci mais je connais la polonaise. Seulement je vois mal mes élèves de
collège l'utiliser. J'espérai naïvement tomber sur quelqu'un qui aurait programmé un truc dans le genre. jfa
Trognon Patrice
JFA wrote:
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur. Merci mais je connais la polonaise. Seulement je vois mal mes élèves de
collège l'utiliser. J'espérai naïvement tomber sur quelqu'un qui aurait programmé un truc dans le genre. jfa
Ben je vois mal aussi tes eleves de college programmer un analyseur syntaxique d'expression mathematiques en gérant les parenthèses :)
tu crois pas ?
Ca me semble bcp plus compliqué a coder que systeme de polonaise inverse, surtout en java ou les classes de collections existent déjà !
-- Cordialement,
Patrice Trognon http://wwW.javadevel.com
JFA wrote:
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai
utilisé la notation polonaise inverse, cela simplifie énormément
l'écriture de l'analyseur.
Merci mais je connais la polonaise. Seulement je vois mal mes élèves de
collège l'utiliser.
J'espérai naïvement tomber sur quelqu'un qui aurait programmé un truc dans
le genre.
jfa
Ben je vois mal aussi tes eleves de college programmer un analyseur
syntaxique d'expression mathematiques en gérant les parenthèses :)
tu crois pas ?
Ca me semble bcp plus compliqué a coder que systeme de polonaise
inverse, surtout en java ou les classes de collections existent déjà !
A chaque fois que j'ai eu besoin d'utiliser ce genre de chose j'ai utilisé la notation polonaise inverse, cela simplifie énormément l'écriture de l'analyseur. Merci mais je connais la polonaise. Seulement je vois mal mes élèves de
collège l'utiliser. J'espérai naïvement tomber sur quelqu'un qui aurait programmé un truc dans le genre. jfa
Ben je vois mal aussi tes eleves de college programmer un analyseur syntaxique d'expression mathematiques en gérant les parenthèses :)
tu crois pas ?
Ca me semble bcp plus compliqué a coder que systeme de polonaise inverse, surtout en java ou les classes de collections existent déjà !
-- Cordialement,
Patrice Trognon http://wwW.javadevel.com
JFA
Merci Christophe. C'est bien ce que je cherchais. jfa
Merci Christophe.
C'est bien ce que je cherchais.
jfa