Formal Language   형식 언어

(2018-09-30)

Natural Language, 자연 언어, 자연어, Artificial Language, 인공 언어, 인공어

1. 언어의 구분

  ㅇ 자연 언어(Natural Language)    : 한국어,영어,독어,일본어 등 (때론, 수화도 포함됨)
     - 자연 언어를 완벽하게 처리할 수 있는 거의 유일한 존재가 인간의 뇌(腦)이지만,
     - 현재, 인공지능이 이에 도전하고 있는 중임

  ㅇ 인공 언어(Artificial Language) : 에스패란토오어(Esperanto), 프로그래밍 언어 등

  ㅇ 형식 언어 (Formal Language)    : 언어문법 구조를 수학적 측면에서 형식화한 인공 언어
     - 프로그래밍 언어들에서 일반적인(공통적인) 특성들을 추상화시킨 언어
     - 완벽하게 정의될 수 있는 규칙들을 갖음

     * 촘스키(Noam Chomsky,1928~)는, 언어추상적인 형식체계로 규정하고 있음


2. 언어에 대한 형식적 정의 (Formal Definition)문자 집합 (알파벳)   : ∑
     - 例) ∑ = {I,love,you}는, 3개의 단어로 구성된 알파벳
     - 例) 프로그래밍 언어에서의 알파벳은, 키워드,변수,특수기호들로 구성됨

  ㅇ 문자열 집합 (스트링) : ∑* 
     - ∑*은, ∑로부터 구성 가능한 모든 문자열들의 집합 (∑의 closure 라고 함)
     - 例) 2진 알파벳 ∑ = {0,1}로부터의 문자열 집합은, 
        . `0,10,11,01,010,... 등`과 `아무 문자도 아닌 ε(epsilon)`으로 구성됨

  ㅇ 언어 (형식 언어)     : L 
     - 알파벳으로 만들어지는 스트링들로 구성됨 (문자열 집합*부분집합)
     - 때론, 언어 L에 속하는 각 스트링들을, 단어(word) 또는 문장 이라고 함

  ㅇ 문법 (형식 문법)     : 알파벳문자열을 형성하는 규칙
     - 형식 언어를 생성하기 위한 규칙
     - 형식 문법을 표현하는 방법
        . 정규표현식
        . 문법도표
        . BNF
        . EBNF유한 오토마타 : 형식 언어를 입력으로하여 문법에 맞는지 분석하고 판단해주는 것


[컴파일러] 1. 컴파일 2. 전처리 3. 링커,로더 4. 언어 5. 형식 언어 6. 유한상태 머신 7. 어휘/구문/의미 분석 8. BNF,EBNF
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
        1.   번역기(프로그램)
        2.   컴파일러
          1.   1. 컴파일
              2. 전처리
              3. 링커,로더
              4. 언어
              5. 형식 언어
              6. 유한상태 머신
              7. 어휘/구문/의미 분석
              8. BNF,EBNF
        3.   정규표현식
        4.   (기타)
      8.   프로그래밍언어 종류
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌