Syntax

  • *로 반복을 표현합니다.
  • +로 최소 한 번 반복을 표현합니다.
  • []로 선택적인 부분을 표현합니다
  • |로 대안을 표현합니다.
  • ()로 그룹을 표현합니다.

Example

커피 한 잔을 다음과 같이 정의해보고, 이를 PEG 형태로 변환해보겠습니다.

  • 컵이 있어야 한다.
  • 최소 에스프레소 한 샷을 포함하고 여러 샷을 포함할 수도 있다.
  • 우유를 사용할 수도 있지만 선택적이다.
  • 물을 사용할 수도 있지만 선택적이다.
  • 우유를 사용했다면 두유나 저지방 우유 등 여러 종류의 우유를 선택할 수 있다
coffee = 'cup' ('espresso')+ ['milk'] ['water']
 
mink = 'full-fat' | 'skimmed' | 'soy'