2014-02-25 10 views
0

Antlr4를 사용하여 Java (Java 7) 소스 변환 도구를 만듭니다. Main.java 파일을 입력으로 받아서 newMain.java 출력 파일로 변환합니다.이 파일은 동일한 프로그램에 해당하지만 사소한 변경 사항이 있습니다. 다음과 같이 내가 보낸 generator.jar 파일을 사용하고 내 변환 도구를 실행하려면 :Antlr을 Java 컴파일 프로세스에 포함시킬 방법이 있습니까?

1 단계를 (나는 다음과 같은 명령을 사용하여 newMain.java 파일을 만들 수 generator.jar 사용) :

java -jar generator.jar folderName/Main.java 

2 단계는 (내가 newMain.class 파일을 실행)

java newMain 
,369 :

javac folderName/newMain.java 

은 3 단계는 (내가 newMain.java 파일을 컴파일)

이 작업을 수행하는 다른 방법이 있는지 궁금 해서요. 명령 줄이나 IDE를 사용하여 사용자에게 투명하게 표시 할 수 있습니까? 나는 사용자가 생성 된 newMain.java 소스 파일과 newMain.class를 보지 않고 그의 Main.java 클래스를 컴파일해야한다는 것을 의미한다. 사실, 새로 생성 된 .class 파일은 초기 Main.class 파일을 대체해야합니다.

+1

주석을 사용하여 작업을 수행 할 수도 있지만 실제로는 번역 도구의 기능이며 ANTLR과 관련이 없습니다. –

+0

답장을 보내 주셔서 감사합니다. Antlr과 관련이 없다는 것이 옳습니다. Java 컴파일러에서 Antlr 클래스를 사용하는 방법이있을 것이라고 생각하면서 번역 도구로 Antlr을 사용하고 있음을 지적하고자했습니다. –

답변

1

난 당신이 사용하고있는 도구를 구축 모르겠어요,하지만 당신은 커맨드 라인, Bourne 쉘에서이 같은 아마 뭔가를 언급 :

#!/bin/sh 

FOLDER=folderName 
CLASS=Main 

java -jar generator.jar $FOLDER/$CLASS.java 

javac $FOLDER/new$CLASS.java 
/bin/mv $FOLDER/new$CLASS.class $FOLDER/$CLASS.class 
/bin/rm $FOLDER/new$CLASS.java 

java $FOLDER/$CLASS 

이 그냥 진짜 간단하고 작업을 수행하지 않습니다 오류 검사 (예 : 번역 또는 컴파일 오류).

관련 문제