begin process at 2010 03 21 19:26:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

parser une expression


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

parser une expression

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ée 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

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales