Formal Language   형식 언어

(2020-02-05)

Natural Language, 자연 언어, 자연어, Artificial Language, 인공 언어, 인공어, Formal Grammar, 형식 문법

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

1. 언어의 구분

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

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

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

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


2. 언어에 대한 형식적 정의 (Formal Definition)문자 집합 (알파벳)  :  ∑
     - 문장을 이루는 유한개의 기호(심볼)들
     - 例) 다음과 같은 집합알파벳이 됨 
        . ∑ = {a,b,c,...,z}는, 26개의 문자로 구성된 영어 알파벳
        . ∑ = {I,love,you}는, 3개의 단어로 구성된 알파벳
     - 例) 프로그래밍 언어에서의 알파벳은, 키워드,변수,특수기호들로 분류 구성됨

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

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

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


[컴파일러] 1. 컴파일 2. 전처리 3. 링커,로더 4. 형식 언어 5. 유한상태 머신 6. 어휘/구문/의미 분석 7. BNF,EBNF

    요약목록

Copyrightⓒ 차재복 (Cha Jae Bok)     「 소액후원 」 [ 최근편집 : 스피커(9월24일)  연결 리스트(9월24일)  선형 리스트(9월24일)  리스트(9월24일)  결상식(9월23일)  . . . ]