ANTLR

ANTLR
원저자Terence Parr 등
발표일1992년 2월
안정화 버전
4.9.2 / 2021년 3월 11일(3년 전)(2021-03-11)
저장소
  • github.com/antlr/antlr4 위키데이터에서 편집하기
프로그래밍 언어자바
플랫폼크로스 플랫폼
라이선스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();

같이 보기

외부 링크

  • ANTLR 위키데이터에서 편집하기 - 공식 웹사이트
  • ANTLRWorks Archived 2015년 2월 17일 - 웨이백 머신
  • ANTLR Studio
이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다.