나는 PMD 전문가는 아니지만 (내 자신의 편견을 가지고 있으며 내 생체를 확인합니다.) 나는 추측 할 것입니다.
- 가 빠르게 내 langauge에 대한 구문을 정의 할 수 있습니다 (이 언어가 얼마나 지저분한 얼마나 잘에 따라, 어쩌면 및 PMD가 제공하는 분석 기계의 힘) :
이슈는
- 내 언어의 의미를 정의하여 PMD에서 제공하는 "의미 확인"이 작동하도록 할 수 있습니까? 구문은 구문의 의미에 대해 말 그대로 (그리고 도구) 알려주므로이를 수행해야합니다. 필자는 PMD 도구 '의미 론적 검사 (semantic checks)'가 자바의 정밀한 세부 사항에 정확하게 연결되어 있다고 생각합니다. 언어가 자바와 완벽하게 일치한다면, 이것은 제로 일 것입니다. 그러나 그렇지 않습니다, 또는 당신은 질문하지 않을 것입니다. 그리고 langauge 의미 차이, 심지어 사소한 것들은 코드의 해석에 불 연속적 변화를 일으킨다. "심각한"의미론을 수행하기 전에 코드의 식별자를 해당 기호에 대한 선언 (및 "의미 론적"유형)에 매핑하는 심볼 테이블을 작성해야 할 것입니다. 함께 작업하는 도구 인프라를 기반으로이 단계만으로도 실제 언어에 1-2 개월이 걸립니다.
- 마지막으로, 귀하의 언어에 특정한 특수한 PMD 검사를 작성해야 할 것입니다. 시간과 에너지도 필요합니다.
필자는 일반 컴파일러 유형 기계 (파서, 플로우 애널라이저, 스타일/오류 체커)를 만들고 WRT의 모든 기계에이 질문과 동일한 질문을 받는다. 우리는 많은 기계류를 이용할 수 있도록 노력하고, 새로운 언어를 쉽게 통합 할 수 있도록 노력하고 있으며, 15 년 이상이 언어를 "편리하고 빠르게"만들려고 노력하고 있습니다. 여전히 편리하지 않으며, 몇 주 안에 도구로이를 수행 할 수있는 방법이 없습니다. 나는 PMD가 더 나은지 의심 스럽다.
이렇게하려면 "플러그 형"또는 "확장형"방법이 있습니까? – tinny
"rile sets"???? –