프로그래밍언어
-
C언어의 문법프로그래밍언어 2020. 4. 13. 08:57
규동 언어를 CFG로 표현하는 법을 해보았으니 이번에는 C언어를 표현해보죠 CFG 나 BNF 에 대해 잘 기억이 안나 시는 분들은 위 링크에 잠깐! 다녀오세요 ㅎㅎ 10분이면 충분합니다~ C언어의 if 문은 어떻게 생겼니? 라고 묻는다면 아마 대부분은 "음~ if, 괄호, 조건문, 괄호 닫고, 중괄호 열고, 코드들이 쭉 와"라고 말할 테지만 반은 맞고 반은 틀린 표현이에요. 기술 면접에서도 물어볼 수 있는 이 질문에 대해 정확히 답하려면 오늘 배울 내용이 반드시 필요할거에요. C언어의 BNF(CFG) 표현법 프로그램 => => | => | 프로그램은 어떻게 생겼니? 프로그램은 translation_unit으로 만들어졌어~ translation_unit이 뭔데? translation_unit은 extern..
-
CFG (Context Free Grammar)프로그래밍언어 2020. 4. 13. 06:00
프로그래밍 언어는 CFG (Context Free Grammar) 로 나타낼 수 있어요 오늘은 C언어의 문법을 BNF 로 나타내볼거에요. BNF 는 CFG의 한 갈래로 일단 여기서는 이 둘은 같다라고 생각해도 될거같아요. 세상에 "규동" 이라는 언어가 있어서 이 언어는 "규"와 "동" 이 두 글자만 사용할 수 있는 언어에요. 규칙은 모든 "규"는 "동" 보다 앞에 있어야 한다. 즉 모든 "규"가 "동" 보다 앞에있는 세상 모든 문자열은 "규동" 언어로 표현됐다. 라고 말할 수 있어요 예를 들면 "규동", "규규동", "규동동동", "규", "동" 이 이런 경우에요. 그럼 "규동" 언어가 아닌건 뭐가 있을까요? "규동규", "동규", "규규규규규규동규" 이런 경우겠죠 이렇게 어떤 언어를 말로 표현하는것도 ..