언어, 문법
형식언어 (Formal Language) 형식언어에서는 정확성이 필수적이므로, 정확성을 위해 언어는 스트링의 집합으로 표현됩니다. 영어, 한국어 등의 자연어와의 차이점이 정확성 요구의 유무라고 볼 수 있습니다. 스트링에 앞서 기호(Symbols)를 먼저 설명하자면, 한 개 이상, 유한개의 기호로 구성된 집합으로 Decimal의 경우 0 ~ 9 라는 기호로 구성된 집합이고, Binary의 경우 0, 1 이라는 기호로 구성된 집합이라고 보시면 됩니다. 스트링은 유한개의 기호들을 나열한 것입니다. 모든 기호는 그 자체로 스트링이 될 수 있고, 아무런 기호도 없는 스트링을 빈 스트링이라고 하는데, 그 존재를 설명하기 위해 특수 기호 λ(Lambda) 로 사용합니다. 하지만, 람다기호는 기호가 되지는 않습니다. ..
2023. 12. 24.
기호, 의미, 계산 (Syntax, Semantics, Computation)
기호 (Syntax)에 의한 형식 언어 언어는 기호(시그마로 표기)로 이루어진 스트링의 집합으로 구성이 됩니다. 형식 언어(Formal Language)는, 모든 원하는 스트링이 빠짐없이 포함되고, 불필요한 스트링이 첨가되지 않는 것으로, 그 과정에서 집합(Set)이나 연산자(Set Operation)을 사용하게 됩니다. ex) Language L1, L2가 있을 때, L1 ∩ L2, L1 U L2, L1 - L2 등등의 Set Operation을 활용하여 새로운 Language를 정의할 수 있습니다. 현재 컴퓨터에서 사용하는 모든 언어는 형식 언어가 사용되고 있습니다. 언어는 제일 단순한 형태인 정규 언어(Regular Language)와 정규 언어에서 두 문자의 발생 빈도 수가 연관되는 문맥 자유 언..
2023. 12. 22.