| 원저자 | Terence Parr 등 |
|---|---|
| 발표일 | 1992년 4월 10일 |
| 안정화 버전 | 4.13.2
/ 2024년 8월 3일 |
| 저장소 | |
| 프로그래밍 언어 | 자바 |
| 플랫폼 | 크로스 플랫폼 |
| 라이선스 | BSD 라이선스 |
| 상태 | 개발 중 |
| 웹사이트 | www |
컴퓨터 기반 언어 인식에서 ANTLR(앤틀러, Another Tool For Language Recognition)는 구문 분석을 위해 LL(*)을 사용하는 파서 발생기이다. ANTLR은 1989년 처음 개발된 PCCTS(Purdue Compiler Construction Tool Set)의 뒤를 이으며 현재 개발이 진행 중이다. 유지보수는 샌프란시스코 대학교의 Terence Parr 교수가 맡고 있다.
다음의 예에서 ANTLR의 파서는 "1 + 2 + 3"의 식의 합의 형태로 표시할 수 있다:
// Common options, for example, the target language
options
{
language = "CSharp";
}
// Followed by the parser
class SumParser extends Parser;
options
{
k = 1; // Parser Lookahead: 1 Token
}
// Definition of an expression
statement: INTEGER (PLUS^ INTEGER)*;
// Here is the Lexer
class SumLexer extends Lexer;
options
{
k = 1; // Lexer Lookahead: 1 characters
}
PLUS: '+';
DIGIT: ('0'..'9');
INTEGER: (DIGIT)+;
다음의 나열은 프로그램 내 파서 호출을 증명한다:
TextReader reader;
// (...) Fill TextReader with character
SumLexer lexer = new SumLexer(reader);
SumParser parser = new SumParser(lexer);
parser.expression();
| 이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |