2009-07-31 2 views
0

I이, 내가 프로그램을 구축하는 최적의 방법/알고리즘이 있나요 : 디버깅을 위해서BOOL에서 불필요한 괄호 또는 산술 연산

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

는, 그 것 좋은 방법을 찾고 있어요 기본적으로 필요한 괄호의 최소한으로 줄일 :

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

는 전 C#에있어,하지만 당신은 좋은 기술을 가지고 있다면 당신은 본 적이 I 포트는 것입니다.

답변

1

표현식을 일종의 트리 구조로 구문 분석한다고 가정하면 이전에 사용한 방법은 탐색하는 것입니다. 트리를 통해 다른 노드의 컨테이너 인 모든 노드를 제거하십시오.

0

프로그래밍 방식으로 작성한 경우 일종의 표현식 트리가 있습니다. AND 또는 OR 노드가 아닌 노드는 괄호를 렌더링 할 필요가 없습니다.