한 십여년전쯤 연구 프로젝트에 필요해서 lex와 yacc를 이용하여 어휘 및 구문 분석을 하고 생성된 토큰들을 P-code 로 정렬한 다음 P-code 인터프리터를 이용하여 실행 시간 연산을 할 수 있는 코드를 만들었던 적이 있다.
그 때 약 한 달 걸려서 정말 머리 쥐어 짜내며 만들었던 기억이 남아있는데, 이번에 비슷한 일을 할 일이 생겨 자료를 찾아보았더니, 다시 할 엄두가 나지 않는다.
어쨌든 해야만 하는 일이니, 처음 시작하는 자세로 다시 해보려고 몇 가지 조사를 해 보았다.
리눅스에서 쓰는 lex 도구가 flex이고 yacc 도구가 bison이란다.
들어는 봤는데 이게 이런데 쓰이는 도구인지는 리눅스 쓴지 십년이 넘어서야 알았으니, 나도 참 한심하단 생각이 든다.