메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

자신만의 언어 구문 분석기 만들기

ANTLR을 사용할 때 흔히 부딪히는 문제를 살펴보자

Arpan Sen, Lead Engineer, Synapti Computer Aided Design Pvt Ltd
Arpan은 EDA(Electronic Design Automation) 업계에 몸 담은 소프트웨어 개발자다. 솔라리스, 썬OS, HP-UX, 아이릭스 등과 같은 다양한 유닉스 기종은 물론 리눅스, 마이크로소프트 윈도우까지 다양한 플랫폼을 사용해 왔다. 그의 주된 관심사는 소프트웨어 성능 최적화 기법, 그래프 이론, 병렬 컴퓨팅이다. 기사를 집필하는 이유는 창의적인 욕구를 충족하기 위해서다. Sen은 소프트웨어 시스템 분야에서 대학원 학위를 받았다.

요약:  ANTLR은 매력적인 도구입니다. 제대로만 이해하면 디버깅 속력이 높아지는 등 장점이 다양합니다. 이 튜토리얼에서는 ANTLR을 이용하여 좀더 똑똑한 구문 분석기를 만들어 봅니다.

원문 게재일:  2008 년 5 월 20 일
난이도:  중급

페이지뷰: 7526 회
의견: 

시작하기 전에

튜토리얼에서 살펴볼 내용과 목표를 간략히 소개한다.

튜토리얼 개요

구문 분석기나 컴파일러 개발업계에 몸담고 있다면 (대부분 흑마법이라고 여기는 어려운 작업이므로) 업무에서 고려할 기술적 사안이 다양하다. 그 중 하나가 언어 구문 분석기를 만드는 도구인데, 최근 들어 ANTLR(Another Tool for Language Recognition)을 많이 선택하는 추세다. 이 튜토리얼에서는 구문 분석기를 제작할 때 흔히 부딪히는 문제를 살펴보고, ANTLR을 사용해 이러한 문제를 해결하는 방법도 살펴본다.


목표

이 튜토리얼에서는 ANTLR를 사용하여 언어 구문 분석기를 제작한다. 또한 컴파일러와 구문 분석기를 제작할 때 흔히 부딪히는 문제와 해결법도 살펴본다.


필요한 사전 지식

튜토리얼을 제대로 이해하려면 언어 구문 분석과 ANTLR에 어느 정도 익숙해야 한다. 튜토리얼에서 사용하는 모든 예제는 ANTRL 2.7.2로 테스트하고 GCC 3.4.4로 컴파일했다.


시스템 요구사항

이 튜토리얼에서 제시하는 예제를 실행하려면 다음 소프트웨어가 필요하다

110 | 다음

의견



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=AIX와 UNIX
ArticleID=309118
TutorialTitle=자신만의 언어 구문 분석기 만들기
publish-date=05202008
author1-email=arpan@syncad.com
author1-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.