정규 문법 문서 원본 보기
←
정규 문법
둘러보기로 이동
검색으로 이동
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
{{위키데이터 속성 추적}} '''정규 문법'''({{lang|en|regular grammar}})은 [[정규 언어]]를 기술하는 [[형식 문법]]이다. 정규 문법은 4-튜플 ''<N, Σ, P, S>''에서 생성 규칙 P가 # <math>A \,\to\, a</math> # <math>A \,\to\, aB</math> # <math>A \,\to\, \varepsilon</math> 으로만 구성되어 있거나(우선형 문법), # <math>A \,\to\, a</math> # <math>A \,\to\, Ba</math> # <math>A \,\to\, \varepsilon</math> 으로만 구성되어 있는 것(좌선형 문법)을 말한다. 이때 <math>A, B \in N</math>, <math>a \in \Sigma</math>이고 ε는 길이가 0인 문자열이다. 이 문법은 [[정규 언어]]를 완전히 표현하는 문법으로, 또한 [[유한 오토마타]]와 완전히 대응한다. 즉, 모든 정규 문법에 대응하는 유한 오토마타가 적어도 하나 있고, 반대로 모든 유한 오토마타에 대응하는 정규 문법이 적어도 하나 존재한다. 또한 이 문법은 [[정규식]]과도 대응한다. 좌선형 문법으로 만들어지는 언어는 우선형 문법으로 만들 수 있다. 반대로 우선형 문법으로 만들어지는 언어는 좌선형 문법으로 만들 수 있다. 만약 생성 규칙에서 <math>A \,\to\, aB</math>와 <math>A \,\to\, Ba</math> 꼴이 같이 존재한다면 그 문법은 정규 문법이 아니라 [[선형 문법]]이라고 한다. 이 문법으로 만들어지는 언어는 정규 언어가 아닐 수도 있다. 예를 들어, # <math>S \,\to\, aA</math> # <math>A \,\to\, Sb</math> # <math>S \,\to\, \varepsilon</math> 는 <math>a^i b^i</math>의 문자열을 만들어내지만, 이것은 정규 언어에 속하지 않는다. == 같이 보기 == * [[정규 표현식]] {{형식 언어 및 형식 문법}} {{전거 통제}} [[분류:형식 언어]]
이 문서에서 사용한 틀:
틀:Lang
(
원본 보기
)
틀:위키데이터 속성 추적
(
원본 보기
)
틀:전거 통제
(
원본 보기
)
틀:형식 언어 및 형식 문법
(
원본 보기
)
정규 문법
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
한국어
보기
읽기
원본 보기
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보