티스토리 뷰

* 개요

원 프로젝트를 A라고 가정.

A 에 Antlr 이용한 기능 넣고 싶은데, 

새로운 언어 개발 테스트를 프로젝트A에서 진행하기 싫다.

프로젝트 B를 생성하여 ANTLR 이용한 언어 개발하고

완성된 완성된 파일만 A에서 가져다 쓰고 싶다.






1. 프로젝트 B 생성

기본적인 ANTLR 생성 방법과 동일함.


- ANTLR 시작하기

http://dogcowking.tistory.com/64



2. B에서 새 언어 개발

g4 파일 생성 후 문법 개발.

g4 파일은 지정 없으면 (default package) 에 자바파일을 생성하게 된다.

따라서 차후 반영될 패키지를 미리 지정하는 것이 좋다.


- 패키지 지정

http://dogcowking.tistory.com/65 



3. B에서 A의 클래스의 사용이 필요한 경우(기본 개체 같은 것들...) 


- Java Build Path 지정해야 하는데

Projects[탭] 에서 쌍방 지정한다면 오류 발생함.

http://dogcowking.tistory.com/217



- B 에서 A 프로젝트를 통째로 가져다 쓰고 (Projects 탭에서 추가시킴),

- A 에서는 Projects 아닌 Source  >> Link Source[버튼] 이용해서 

B 의 g4 파일 및 개발한 리스너 등을 추가하는 방법이 좋다.


- B 에서 A 가져갈때도 필요한 클래스 소스만 가져가도 상관 없지만, 

(웹 프로젝트인 경우 특히) 의존성 문제가 많이 생겨서 B에서는 A 프로젝트 통째로 가져다 씀.


- git 사용 중이라면 B 에선 A를 통째로 가져오고 있으므로 build 폴더 untrack 해주는 것이 좋음.





* 팁1 - B의 Source Folder 분리해서 사용

- 기본적으로 src 폴더 를 Source folder 로 사용함.

언어 개발시에 여러가지 테스트용 문법파일,비지터, 리스너 들을 만들게 되는데

Link Source 에서 이 src 폴더를 그대로 링크하면

A에 테스트 과정중에 생기는 클래스, 문법파일까지 들어가게 된다.


- 이걸 막기 위해 Source folder 를 추가로 생성하고

srcTest, srcPrd 로 분리해서 사용하고,

A 에서 가져오기 위해 Link Source 로 폴더 추가할땐 srcPrd 만 골라서 가져오면 됨.




* 팁 2 - g4 파일을 자바파일과 함께 패키지에 넣어도 사용에 무방함.


'SW개발 > ANTLR' 카테고리의 다른 글

파싱 결과가 물음표로 나오는 문제  (0) 2018.08.16
java.lang.NoClassDefFoundError: org/antlr/v4/runtime/TokenSource  (0) 2018.08.01
작성중 / ParserRuleContext  (0) 2018.07.27
listener 사용  (0) 2018.07.27
Listener , Visitor 비교  (0) 2018.07.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함