Accueil > Forum > > > > parser une expression
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
[BAR]help expression régulière en perl [ par samordi ]
Bonjour, Je débute en programmation et découvre le langage perl. Je suis actuellement bloqué à cause d'une expression régulière que je n'arrive pas a
parser une expression mathématique, de manière récursive ou itérative ? [ par mmaximum ]
Bonjour, Je suis actuellement en train de programmer un petit CAS, qui devra tourné sur un système très réduit (calculatrice). J'ai déjà crée toute l
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
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|