Existe-t-il une méthode / un algorithme optimal pour des parenthèses supplémentaires inutiles dans les opérations BOOL ou arithmétiques?

StackOverflow https://stackoverflow.com/questions/1210153

  •  06-07-2019
  •  | 
  •  

Question

J'ai ceci, je l'ai construit par programme:

(( cat1:bobo AND ( ( cat2:jojo ) OR ( cat2:coco ) ) ))

Par souci de débogage, je recherche une bonne méthode qui la réduirait au strict minimum:

cat1:bobo AND ( cat2:jojo  OR  cat2:coco ) 

Je suis en C #, mais si vous avez déjà vu une bonne technique, je la porterai.

Était-ce utile?

La solution

En supposant que vous analysiez l'expression dans une sorte d'arborescence, l'approche que j'ai adoptée par le passé consiste simplement à naviguer dans l'arborescence et à supprimer tous les nœuds qui ne sont que des conteneurs pour d'autres nœuds.

Autres conseils

si vous l'avez construit par programme, vous avez une sorte d'arbre d'expression. les noeuds qui ne sont pas AND ou OU les noeuds n'ont pas à rendre de parenthèses

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top