응용 프로그램의 경우 산술 표현식과 변수를 사용하여 String을 구문 분석하려고합니다. 다음 문자열을 상상해보십시오 :자리 표시자를 사용하여 라이브러리를 파싱하는 간단한 자바 재귀 적 내림
((A + B) * C)/(D - (E * F))
그래서 여기에는 실제 정수/이중 값이 없습니다. 첫 번째 자리 표시자를 가져 와서 자리 표시 자에 값을 넣고 (예를 들어 데이터베이스 쿼리를 통해) 다음 자리 표시자를 계속 진행할 수있는 라이브러리를 찾고 있습니다.
그래서 본질적으로 사용자가 원하는 것은 변수의 실제 값을 모른 채 도메인 언어로 문자열을 쓸 수있게하려는 것입니다. 따라서 응용 프로그램은 일부 "상황 별 논리"에 따라 숫자 값을 제공하고 계산 결과를 출력합니다.
Google 검색 결과 적절한 라이브러리를 찾지 못했습니다. 나는 ANTLR을 찾았지만 나의 유스 케이스에 대해 "헤비급"이라고 생각한다. 어떤 제안?
예, 사용하기 쉬운 경량의 솔루션이 있습니다. http://jparsec.codehaus.org/ (하지만 Java에서 고유 한 파싱 연결자 세트를 구현하는 것은 매우 간단합니다). –