Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : parser une expression [ Windows / Autre ] (mathmax)

mercredi 18 juin 2008 à 14:01:12 | parser une expression

mathmax


Bonjour,

J'aimerais parser une expression qui est une condition du langage de programmation CA-Clipper, ceci afin de la traduire en language SQL. En cherchant sur le web, j'ai découvert que les outils lex et yacc permettent justement de faire ce genre de choses. Pensez-vous que ces outils peuvent m'aider à résoudre mon problème ou me conseilleriez-vous une autre technique ?

Voici un exemple de traduction que j'aurais à faire :

("Mart" $  Customers->Name .and. Orders->Price >= 120) .or. Oders->Date = ctod("18/06/08")

qui sera traduit en :

where exists (select 0 from Customers as C, Orders as O where C.Id = O.Customers_Id and (C.Name like "%Mart%" and O.Price >= 120) or O.Date = #18/06/08#)


Merci d'avance,

mathmax


Mathmax

****************************************


jeudi 19 juin 2008 à 09:18:01 | Re : parser une expression

Lucky92

Bonjour,

Lex & yacc est un langage certainement trés intéressant, mais il est aussi trés confidentiel ! Pour t'en convaincre, il suffit de regarder la taille de l'article sur wikipédia... les risques portent donc sur l'apprentissage, le support et la maintenance de ton code.

Ensuite, le choix de la techno dépend de ton besoin : est-ce que tu dois créer un analyseur complet du langage CA-clipper ( qui semble bien confidentiel aussi ; on dirait un mélange de perl & de fortran ! ) ou seulement reconnaître quelques commandes ?

Dans l'exemple que tu présentes, j'ai le sentiment qu'un peu de c++ standard et une expression régulière bien sentie feraient parfaitement l'affaire. En revanche, si tu as besoin de parser tout le langage CA-clipper, il existe une bibliothèque boost::spirit qui fournit un framework pour construire des parseurs. L'utilisation de boost nécessite un niveau en c++ assez élévé ( bonne connaissance de la STL, maîtrise de la programmation générique ), en revanche, c'est quasiment du standard ( un certain nombre de bibliothèques de boost seront intégrés dans la prochaine version de c++ ).








jeudi 19 juin 2008 à 15:24:22 | Re : parser une expression

mathmax

Merci pour ta réponse.

En fait je suis novice en C++ (je programme en C# habituellement). J'ai d'ailleurs un problème avec un projet C++ crée avec Visual Studio 2008. La compilation ne génère pas de .exe dans le répertoire bin (bien que dans les propriété du projet l'option Configuration Type est bien sur "Application (.exe)"), mais seulement des .obj.

Du coup j'obtiens le message d'erreur suivant quand j'essai d'exécuter avec le debugger de Visual Studio :
Unable to start the program.
This application has failed to start because the application configuration is incorrect. Review the manifest file for possible errors. Reinstalling the application may fix the problem. For more details, please see the application event log.

Une idée du problème ?

Merci


Mathmax

****************************************




Cette discussion est classé dans : and, expression, parser, outils, customers


Répondre à ce message

Sujets en rapport avec ce message

Comment inserer une barre d'outils dans une boite de dialogue [ par Lady ] merci XML en C++ [ par The_Legacy ] Bonjour tout le monde,Je fais appel à votre aide car je suis dans un cas désespéré. Je ne suis pas un pro du C++, disons que je m'en sors, mais je doi a laiiiiiiiiiiiiiiiiiiiiiiide svp [ par madVinz ] Salut,voila, j'ai visual studio 6.0, un jour, j'ai lancé le C++ alors que je n'avais plus beaucoup de ressources systèmes disponible, et ca ne ma pa a Quels outils utiliser pour créer une interface fonctionnant en C++ [ par fanny ] Bonjour, Je débute en C++ et j'aimerais créer une petite appli, avec le langage objet C++. Quel outil me conseillez-vous pour créer l'interface ? parser xml en C [ par jbt36 ] bonjour à tous,j'ai besoin de realiser un editeur xml en Cpour cela je dois notamment parser le fichier xml pour pouvoir le manipuler,l'affichersous f [VC++]Comment créer une boite à outils pour modifier une image? [ par Manu0086 ] Comment créer une boite à outils pour modifier une image?Mercihttp://www.carafriends.com barre d'outils en java [ par mesli ] meslije voudrais savoir comment créer une barre d'outils, je crée qques boutons, je me sert de JToolBar pour créer ma barre à laquelle j'ajoute mes bo getlasterror [ par Livvie ] I have a problem when connecting to (or deconnecting from) internet. i have a message Destroywindows-Error Getlasterror returned 5 and after clicking Expression régulières en C [ par CoreBreaker ] Bonjour !Quelqu'un aurrait-il un source pour traiter les expressions régulières de type UNIX en C (reconnaissance + remplacement de motif avec les par outils comparaison de fichiers [ par arb ] Je cherche des infos (ou encore mieux des sources) pour réaliser un outil de comparaison de fichiers (en BC++). Je voudrais pouvoir comparer deux répe


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.