http://ideone.com/DoH9y

계산기 숙제글 올라올때마다 링크를 걸어주는 코드에영 ㅋㅋ


기반 이론은 재귀하강 파싱,  정확하게는 Strong LL(0) 문법에 따라서

재귀하강 파싱을 수행하며, 부산물로 중간중간 계산도 함



컴파일러 이론 파싱 부분을 보면 알 수 있을거에요


저 코드는 계산을 하지만, 변경해서 print 를 중간중간 하게 하면 

재미있게도 postfix  식 출력도 할수 있고요, 


이름이 재귀하강 파싱이라 , 

진짜 코드 자체가 함수를 재귀적으로 호출하면서 파싱을 수행하는데요



결국은 함수의 호출도 스택프레임을 사용한다는 점에서

infix 를 postfix 로 바꾸는 과정에서 스택 자료구조를 이용하는것과 일맥상통함


진짜 근원적으로는 pushdown automata 죠



저 방식은 우아한 점이 수식을 단 한번 스캔하죠,

postfix 로 바꾼뒤에 계산 (2번 스캔) 이 아니라

수식을 파싱하면서 동시에 계산이에요



컴파일러 이론을 배우지 않더라도, 재귀 하강 파싱은

알아두는게 좋다고 생각해요, 

여러가지로 응용할 수 있다고 생각함