문자열 검색 구현하려고 하는데,

어찌해야할지 답이 안 나옴.


예를들어서

A AND B OR C <- 이런 조건으로 검색할때랑

A OR B AND C <- 이런 조건으로 검색할때


AND에 우선순위 생기잖아.

그걸 구현하려고 보니 엄청 애매함.


그래서 계산기 소스같은데서 쓰는 산술 후위연산하는걸 응용하려고 했는데,

산술 후위연산은 무리없이 되는데,

이걸 똑같이 논리로 바꾸려니 혼란이 옴. ㅠㅠ


1 - 2 * 3

-> 1 2 3 * -

=> 1 6 - => -5



inText와 

A OR B AND C 가 있으면,

-> A B C AND OR  (후위표기법 만드는 것 까진 성공)

=> 여기서부터 구현이 막막함 ㅠㅠ


먼저 (inText 검색 B) AND (inText 검색 C) = 결과Bool을 스택에 박아 넣어야하는데,

먼저 들어갔던게 A,B,C라는 스택이 있는건데,

문자열하고 bool이라서 다르잖아.

문자열 스택을 만들면 거기에 Bool을 넣을수가 없고, Bool스택을 만들면 문자열을 넣을수가 없고...

Bool이면 AND와 OR연산 섞인것 들이라 초기값을 뭘해야 할지도 모르겠고...

말하면서도 뭐가 맞는건지 애매해서, 헷갈린다.


문자열 논리연산 검색 구현에 대해서 설명한 곳 없나여? ㅠㅠ