implémenter une règle logique

implémenter une règle logique - C++ - Programmation

Marsh Posté le 01-05-2013 à 18:46:03    

Bonjour,
 
Comment on peut coder cette règle en C++ :
 

Citation :

not (e1 and e2) -> not(e1) or not(e2)

 
 
e est une expression boolèene. En fait, pour moi e est un predicat d'une requete SQL
 
Merci d'avance.

Reply

Marsh Posté le 01-05-2013 à 18:46:03   

Reply

Marsh Posté le 01-05-2013 à 19:14:25    

Dit comme ca, ta demande n'est pas vraiment claire pour moi.
 
C'est quoi ton contexte, plus précisément ?


---------------
last.fm
Reply

Marsh Posté le 01-05-2013 à 19:48:58    

Tout d'abord Merci pour la rapidité de la réponse.
 
Ma question est :  
 
Comment coder la règle de distributivité de l'opérateur not sur l'opérateur and  ?
 
Mon contexte du travail est l'optimisation d'une requête SQL. Supposons qu'un utilisateur a donné une requête qui a dans sa clause where un prédicat de la forme

Citation :

not (e1 and e2)

. Je veux appliquer la règle de distributivité de l'opérateur not sur les opérateurs and et or en remplaçant ce prédicat avec un nouveau prédicat de la forme

Citation :

not(e1) or not(e2)

. En fait, je suis entrain de simplifier la requête de l'utilisateur
 
Rq: e1 et e2 sont des expression booléennes


Message édité par kochfet le 01-05-2013 à 19:50:04
Reply

Marsh Posté le 02-05-2013 à 12:09:48    

Donc en entrée, tu as du texte, et tu dois parser une requête textuelle pour remplacer ces expressions ?
Ou ta requête arrive déjà dans un statut plus pratique à manipuler par du code ?


---------------
last.fm
Reply

Marsh Posté le 11-05-2013 à 17:42:08    

Regarde du coté de Lex/Yacc ou Antlr pour parser ton input.
 
Apres Tu pourras t'attaquer à optimiser la structure de donnée en sortie.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed