<서론>
프로세싱 언어는 오픈 소스이며, 기존 언어보다 쉽게 이미지나 애니메이션 를 렌더링하거나 소통(interaction)할 수 있도록 설계된 언어이다. 기존의 개발 언어를 사용하는 사람들이 학생, 예술가, 취미로 하는 사람들이 언어를 쉽게 쓸 수 있도록 만들어졌다. 마인드스톰처럼 MIT 에서 시작되었다.
이 언어는 자바언어를 바탕으로 만들어진 DSL(Domain Specific Language) 중의 하나이다. 기존의 자바를 바탕으로 만들어진 언어이다.
현재 프로세싱(processing.org) 싸이트에서 프로세싱 언어와 PDE라는 개발 도구를 제공하고 있다. 해당 소스가 자바로 만들어져 있었음을 확인하고, 쉽게 소스 파악이 될 것 같아서 분석해 본다.
<본론>
1. 소스 다운받기
2011년 12월 현재 프로세싱은 1.5이나, trunk 소스는 2.0으로 개발이 되고 있다. 소스는 “http://code.google.com/p/processing/” 에서 다운받을 수 있다.공식 svn 주소는 http://processing.googlecode.com/svn/trunk/ 이다.
svn 소스를 checkout 받는다.
프로세싱 소스는 processing 디렉토리에 있다. 이 디렉토리를 이클립스에 복사한다.
2. 컴파일하기
컴파일은 여러 단계로 나누어진다.
첫번째, core 디렉토리에 있는 build.xml 파일을 컴파일한다. core.jar가 output으로 나오는 것이 core 디렉토리의 중요한 목표이다.
Buildfile: G:\android\workspace\processing\core\build.xml compile: [methods] No changes to PApplet API. [javac] Compiling 15 source files to G:\android\workspace\processing\core\bin build: [jar] Building jar: G:\android\workspace\processing\core\core.jar BUILD SUCCESSFUL Total time: 1 second |
두번째, app 디렉토리에 있는 build.xml 파일을 컴파일 한다. pde(processing developement environment) 파일(pde.jar)이 생성된다.
Buildfile: G:\android\workspace\processing\app\build.xml |
세번째, build 디렉토리 밑에 있는 build.xml 파일을 컴파일한다. JAVA_HOME 환경변수 설정이 중요하다. 컴파일이 완료되면, processing.exe 파일이 생성된다. 이 파일은 processing을 실행시키는 녀석으로 간단히 링킹만 한다.
….. [launch4j] Compiling resources |
G:\android\workspace\processing\build\windows\launcher 디렉토리 밑에는 java 클래스를 특정 OS에서 실행 가능하게 만들어주는있는 launch4j (http://launch4j.sourceforge.net/) 가 있는 것을 확인할 수 있다.
3. 실행해 보기
G:\android\workspace\processing\build\windows\work 디렉토리에는 실행 가능한 processing.exe 파일이 생성되고, 바로 PDE를 실행할 수 있다.
실행하면, Processing Splash 윈도우가 보이며, 정적 리소스 로딩이 완료되면, PDE 화면이 바로 다음에 보인다.
3. 이클립스 빌드 설정
이클립스 소스 일부가 에러로 되어 있는 것은 antlr 관련 소스들이거나 파일 type이 utf-8이 아니라서 나는 것이다.아래 코드는 antlr 관련 코드라서 antlr에 의해서 generated 된 코드를 예상하고 만들어진 것이라 에러가 아니다.
자세한 것은 소스를 보면 ant 소스를 보면서 분석해야지
<결론>
프로세싱 언어와 PDE에 대해서 컴파일 / 이클립스 개발 환경을 구축했다. 다음부터는 소스 레벨로 깊이 들어가 보자.
'아두이노' 카테고리의 다른 글
아두이노 개발 툴 소스 1.0 분석을 위한 환경 셋팅 (1) | 2011.12.28 |
---|---|
프로세싱 언어와 PDE 코드 살펴보기 #2 (1) | 2011.12.20 |
아두이노(arduino)와 선풍기 연결 (1) | 2011.12.20 |
아두이노(arduino) 로 만든 웹 서버 경보기 (0) | 2011.12.19 |
me2day 의 특정 글에 리플을 달면 램프 깜박이게 하기 (아두이노-이클립스-Serial RXTX 연동) (0) | 2011.12.16 |