본문 바로가기
정보/IT

Javascript Preprocessor(2)

by 키운씨 2012. 7. 13.


JS-PREPROCESSOR.zip


예전에 포스팅한 내용에 대한 부연 포스팅을 하려고 한다

zip 파일은 이전에 소개한 Java 버전의 Preprocess 프로그램의 수정 버전과 샘플 클래스이다


이전 포스팅에서 mcpp.exe 를 마지막으로 preprocess 조사를 마무리했었는데 결국 그마저도 실패하고 말았다

일부 소스코드를 변환하면 내용이 깨져버리는 버그가 발견되었던 것이다

하지만 정확한 원인은 찾을 수 없었고 예상되는 지점은 한글 부분이었던 것 같은데...

mcpp.exe 가 바이너리 인지라 내부를 까볼수도 없기에 그냥 그대로 포기하고 결국 Java 버전의 Preprocess를 수정하는 것으로 방향을 바꾸었다


원래 Java 버전의 Preprocess 는 define 명령시 앞단에 주석처리를 하게끔 되어 있었다

아마도 Java 클래스를 컴파일할때 define 명령에 의한 컴파일 오류가 발생하지 않게 하기 위함인 것 같은데,

하지만 define 명령을 사용하였다는 것은 클래스의 소스코드가 Preprocess 되기 전까지는 제대로 동작할 수 없음을 의미하기에 컴파일 오류 방지를 위한 주석처리는 필요가 없다고 생각되었다


그래서 원래의 프로그램을 조금(?) 수정하여 현재 업무에 사용중이다

아직까지는 큰 문제는 없어보이지만 언젠가는 예상치 못한 패턴에 의해 파싱 오류가 발생하지 않을까 생각된다

원 프로그램이 파싱에 대한 오류를 콘솔에 출력하게 되어 있어서 급한대로 살짝 피해갈 수 있으니 빌드나 배포시 적용해도 큰 무리가 없을 것 같다

참고로 GUI 를 통한 preprocess 테스트는 하지 않았다

메인 클래스인 JavaPC 를 사용하거나 Ant 를 통한 프로그램 실행은 현재 업무에 적용되어 있다


사용법은 매뉴얼 참조




'정보 > IT' 카테고리의 다른 글

VisualSVN 서버로 Subversion 서버 구동하기  (0) 2013.04.09
ActiveX 와 보안  (0) 2012.07.14
[javascript/HexToDec]unsigned 와 음수  (0) 2012.05.31
제7회 공감세미나 동영상  (0) 2012.05.07
Script Bot (Bejeweled Blitz)  (2) 2012.05.02