형식 언어와 유한 오토마타
Chapter 03
01. 형식 언어
02. 형식 문법
03. 문법 표기법
정규표현
구문도표
그림이라 생략..
BNF 표기법 - Backus-Naur Form
<, >, ::=, |
등의 메타기호를 사용해서 문법을 표기함
메타기호는 문법기호(
터미널 기호
+논터미널 기호
) 와는 다르게, 문법 자체와는 상관없는 기호들
C 언어의 식별자identifier 를 BNF 로 나타내보자( _ 없이)
<ID> ::= <E> | <ID> <E> | <ID> <N> <E> ::= a | b | ... | z <N> ::= 0 | 1 | ... | 9
시작은 항상 영문이기 때문에, prefix 가 불변이라는 특성이 있음 이를 재귀적으로 잘 표현하면 됨
단점
예를 들어, 최대 문자열의 길이가 10이라면?
<E><E><E><E><E><E><E><E><E><E>
너무 번거롭다
EBNF 표기법 - Extended BNF
BNF 에
{, }, [, ]
메타기호를 추가횟수를 표현하기에 적합함
참고링크
Last updated
Was this helpful?