C
cxz9
Unregistered / Unconfirmed
GUEST, unregistred user!
java2delphi
글쓴이
: 파란산타
날짜
: 07-06-29 20:54 조회
: 968 트랙백
주소
java2delphi.20070629.zip (104.2K), do
wn : 53, 2007-06-29 20:54:49
http://www.codeway.co.kr/board/bbs/board.php?bo_table=Delphi_PDS&wr_id=300&page=3
java 소스를
Delphi로
변환
프로그램을
간단하게
만들어
보았습니다.
원래
필요로
했던
것은
사칙연산이나
제어문
정도라서
일주일
투자해서
간단하게
만들어
보았습니다.
JavaCC을
이용했으며, jj 파일을
제외하고
Java 소스를
첨부합니다.
사용법:
java -jar java2delphi.jar Formatter.java
위와
같이
명령을
하시면
Formatter.pas의
결과물을
얻을
수
있습니다.
아래에
일부
변환된
예를
입니다.
public int sum(int s1, int s2) { function TFormatter.sum(s1 : integer;
s2 : integer): int;
return s1 + s2;
begin
} result := s1+s2;
end;
public boolean checkSELECT(String s1) { function TFormatter.checkSELECT(s1 : String): boolean;
if (s1.equalsIgnoreCase("select")) { begin
return true;
} else
{ if ((UpperCase(s1)='SELECT')) then
return false;
begin
} result := true;
} end else
begin
result := false;
end;
end;
function TFormatter.testFor(): int;
public static int testFor() { var
int sum = 0;
i : integer;
for (int i=0;
i<100;
i++) sum : integer;
sum = sum + 1;
begin
} sum:=0;
i:=0;
while (i<100) do
begin
sum:=sum+1;
inc(i);
end;
end;
private void do
Escape2Space() { procedure TFormatter.doEscape2Space();
for (aD = 1;
aD <= queryTokenCount;
aD++) { begin
if (isTokenQuoteLiterals[aD]) aD:=1;
continue;
while (aD<=queryTokenCount) do
begin
if (queryToken[aD].equals("/t")
|| queryToken[aD].equals("/f") if (isTokenQuoteLiterals[aD]) then
|| queryToken[aD].equals("/r") begin
|| queryToken[aD].equals("/b")) continue;
queryToken[aD] = " ";
end;
if (queryToken[aD].equals("/r")) if ((queryToken[aD]=#9)
queryToken[aD] = "//n";
or (queryToken[aD]=#12)
} or (queryToken[aD]=#13)
or (queryToken[aD]=#8)) then
} begin
queryToken[aD]:=' ';
end;
if ((queryToken[aD]=#13)) then
begin
queryToken[aD]:='//n';
end;
inc(aD);
end;
end;
글쓴이
: 파란산타
날짜
: 07-06-29 20:54 조회
: 968 트랙백
주소
java2delphi.20070629.zip (104.2K), do
wn : 53, 2007-06-29 20:54:49
http://www.codeway.co.kr/board/bbs/board.php?bo_table=Delphi_PDS&wr_id=300&page=3
java 소스를
Delphi로
변환
프로그램을
간단하게
만들어
보았습니다.
원래
필요로
했던
것은
사칙연산이나
제어문
정도라서
일주일
투자해서
간단하게
만들어
보았습니다.
JavaCC을
이용했으며, jj 파일을
제외하고
Java 소스를
첨부합니다.
사용법:
java -jar java2delphi.jar Formatter.java
위와
같이
명령을
하시면
Formatter.pas의
결과물을
얻을
수
있습니다.
아래에
일부
변환된
예를
입니다.
public int sum(int s1, int s2) { function TFormatter.sum(s1 : integer;
s2 : integer): int;
return s1 + s2;
begin
} result := s1+s2;
end;
public boolean checkSELECT(String s1) { function TFormatter.checkSELECT(s1 : String): boolean;
if (s1.equalsIgnoreCase("select")) { begin
return true;
} else
{ if ((UpperCase(s1)='SELECT')) then
return false;
begin
} result := true;
} end else
begin
result := false;
end;
end;
function TFormatter.testFor(): int;
public static int testFor() { var
int sum = 0;
i : integer;
for (int i=0;
i<100;
i++) sum : integer;
sum = sum + 1;
begin
} sum:=0;
i:=0;
while (i<100) do
begin
sum:=sum+1;
inc(i);
end;
end;
private void do
Escape2Space() { procedure TFormatter.doEscape2Space();
for (aD = 1;
aD <= queryTokenCount;
aD++) { begin
if (isTokenQuoteLiterals[aD]) aD:=1;
continue;
while (aD<=queryTokenCount) do
begin
if (queryToken[aD].equals("/t")
|| queryToken[aD].equals("/f") if (isTokenQuoteLiterals[aD]) then
|| queryToken[aD].equals("/r") begin
|| queryToken[aD].equals("/b")) continue;
queryToken[aD] = " ";
end;
if (queryToken[aD].equals("/r")) if ((queryToken[aD]=#9)
queryToken[aD] = "//n";
or (queryToken[aD]=#12)
} or (queryToken[aD]=#13)
or (queryToken[aD]=#8)) then
} begin
queryToken[aD]:=' ';
end;
if ((queryToken[aD]=#13)) then
begin
queryToken[aD]:='//n';
end;
inc(aD);
end;
end;