더북(TheBook)

1.6 형식 언어와 자연 언어

영어, 스페인어, 프랑스어처럼 사람들이 말하는 언어가 자연 언어다. (자연 언어에 어떤 질서를 부여하려고 시도하는 사람들도 있지만) 이러한 언어는 사람들이 만들어낸 것이 아니다. 자연 언어는 자연적으로 진화했다.

사람들이 특정 용도로 만들어낸 언어가 형식 언어다. 예를 들면 수학에서 숫자와 기호 사이에 관계를 표현하는 데 사용하는 표기법이 형식 언어다. 화학자는 분자의 화학 구조를 표현하는 데 형식 언어를 사용한다. 그리고 가장 중요한 언어

프로그래밍 언어도 계산을 표현하기 위해 고안된 형식 언어다.

형식 언어는 문장 구조를 지배하는 엄격한 구문(syntax) 규칙을 갖는 경향이 있다. 예를 들어 수학에서 3 + 3 = 6은 올바른 구문이지만, 3 + = 3$6은 그렇지 않다. 화학에서 H2O는 구문에 따라 올바른 화학식이지만, 2Zz는 올바르지 않다.

구문 규칙은 토큰과 구조, 두 가지로 표현한다. 토큰(token)은 언어의 기본 원소로 단어, 숫자, 화학 원소(chemical element) 같은 걸 말한다. 3 + = 3$6이 갖는 문제 중에 하나는 $가 수학에서 올바른 토큰이 아니라는 것이다(최소한 내가 아는 지식수준에서는 그렇다). 마찬가지로 2Zz도 올바르지 않은데, 왜냐하면 Zz 약어를 갖는 원소가 없기 때문이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.