나는 plsql 프로 시저/패키지를 자바 클래스로 변환하려고한다. 방금 "ANTLR PL/SQL 11g 파서"(link)를 발견했습니다. 아직도 그것이하는 것과 그것을 사용하는 방법을 이해하려고 노력합니다. 내가 plsql 구조체와 java 구조체 사이에 매핑을한다고 가정하면이 plsql 파서를 사용하여 Java 코드를 생성 할 수 있습니까?렉서/파서를 트랜스 코더로 사용할 수 있습니까?
1
A
답변
2
다른 포스터는 "파서가 충분하지 않습니다"라고 말합니다.
필자는 동의하지만이 구문 분석기가 실용적인 것으로부터 먼 길을 취하는 경우 (심지어 완전한 AST가 있다고 가정한다고해도)를 동의하고 싶습니다.
PLSQL 연산자를 사용할 때 사용할 Java의 유형과 연산자를 알 수 있도록 최소한 이름과 유형 확인이 필요합니다. 좋은 일을하려면 다양한 종류의 흐름 분석 (제어 및 데이터 흐름)이 필요할 수 있습니다.
어려움에 대한 일부 설명은 What kinds of patterns could I enforce on the code to make it easier to translate to another programming language?을 참조하십시오.
1
예, 문법을 문제에 던지고있는 것만으로는 충분하지 않습니다. PL/SQL 의미를 Java에 매핑하는 방법을 알아야합니다. 연결된 구문 분석기를 사용하면 아마도 동일한 구문 트리 워커가 같은 프로젝트에서 제공하는 것처럼 도움이 될 것입니다. 자바 코드를 생성하는 것이 어렵지는 않지만 사소한 것도 아니다.
0
나는 Xtext와 Xtend를 사용할 것입니다. 정말 마술 같아. vimeo에서 비디오를보십시오.