저희 회사는 Android 용 소프트웨어를 작성하려고합니다. 우리는 Java로 작업하고 싶습니다. 회사 소프트웨어의 구성 요소 중 C++이므로 이식해야합니다 (또는 최소한 NDK를 사용하기 전에 시도해야 할 포트가 필요합니다). 이 코드는 Accent을 사용하여 만들어졌으며 문법 문법을 정의합니다. 내가 말할 수있는 것처럼, 원래의 작가 (현재 사라짐)는 문법을 지정하는 방법을 지정하는 문법을 작성한 다음 그 문법과 악센트로 컴파일러 컴파일러를 컴파일했습니다. 컴파일러 - 컴파일러는 지정된 형식의 문법을 사용하고 해당 문법에 맞는 문자열을 파싱하는 바이너리 코드를 생성합니다. 다음은 문법의 예를 조각입니다 :Java 용 문법 컴파일러 컴파일
//include rules from from this file (such as <alpha>)
include "alphabet.bnf"
<<topSymbol>> = <alpha> <alpha> <alpha>? .//two letters with an optional third
//square brackets enclose an XML statement clarifying semantics of the rule
[
<topSymbol>
<letter>
<command val="doSomethingToLetter"/>
</letter>
<!--etc.-->
</topSymbol>
]
내 질문은 ANTLR 또는 다른 도구를 사용하여, 자바와 함께이 작업을 수행하는 방법이다. 컴파일러 컴파일러 컴파일러는 다소 복잡해 보입니다. 또는 문법 및 의미 론적 XML 정보가 포함 된이 유형의 문법을 쉽게 컴파일/파싱하는 방법을 알고 싶습니다.
컴파일러 컴파일러 컴파일러가 필요한 경우 잘못된 작업을 수행하고 있습니다. –
문법 문법. 컴파일러 - 컴파일러 - 컴파일러. IT 랩? – maksimov
어, 네가 언어를 쓰는 걸 좋아한다고 들었어. 네 문법에 대한 문법을 만들어 문법 분석 방법을 파싱 할 수있어. –