Case1. <중간 점검> 쿼리 파싱 결과 출력

Study/Java 2018. 11. 12. 05:11 Posted by meanoflife
반응형

몇 개의 단계를 거쳐 파싱을 진행하였습니다.

내용상 분량은 얼마되지 않지만... ( 스스로 진행하며 ) 나름 부족한 실력으로 많은 고민과 시행착오를 거쳐 나온 결과물입니다. OTL...


아직 갈길이 많이 멀지만...

앞서 진행했던 파싱 프로그램을 점검할 겸, 중간 결과물을 확인해 보도록 하겠습니다.


추후 더 보완되어야 할 부분이지만, 우선 임시로 출력하는 메소드를 만들었습니다.



■ Coding


HashMap<String, ArrayList<String>에 담겨 있던, 각 영역별 쿼리항목을 FOR문으로 StringBuilder에 저장합니다.

모든 결과를 StringBuilder에 저장 후 화면으로 출력합니다.

( 예제 마지막 단계에서는 쿼리를 소스파일에서 읽어왔기 때문에, 저장도 파일로 진행할 예정입니다. )




■ 출력 결과


처음에 소스파일에서 읽어온 원본 쿼리와 파싱 후 출력한 쿼리입니다.



아직 Inner-Query 부분의 줄바꿈이 제대로 처리되지 않았습니다.

다음 장에서 Inner-Query를 처리하는 부분을 진행해 보도록 하겠습니다.


Scalar-Query, Inner-Query, Sub-Query의 경우, 1Level의 쿼리에 ( )괄호로 묶여있는 2Level의 쿼리입니다.

이 쿼리들은 다시 3Level의 쿼리를 가질 수 있기 때문에, 재귀함수의 형태로 파싱이 만들어져야 할 것 같습니다.


왠지... 딱 봐도... 쉽지 않을 것 같습니다. OTL...

그래도 시작을 했으니 끝까지 진행해 보도록 하겠습니다.


끝.



※ 상식 Level-Up

- 쿼리 (개발) 표준 및 규칙

반응형