ANTLR

위키백과, 우리 모두의 백과사전.

ANTLR
원저자Terence Parr
발표일1992년 2월
안정화 버전
4.9.2 / 2021년 3월 11일(3년 전)(2021-03-11)
저장소
프로그래밍 언어자바
플랫폼크로스 플랫폼
라이선스BSD 라이선스
상태개발 중
웹사이트www.antlr.org

컴퓨터 기반 언어 인식에서 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();

같이 보기[편집]

외부 링크[편집]