본문 바로가기
프로그래밍/IT지식

파싱(Parsing)/파서(Parser)란?

by 준보틱스 2024. 6. 24.

파싱(Parsing)

  • 문장이 이루고 있는 구성 성분을 분해하고 분해된 성분의 위계 관계를 분석해 구조를 결정하는 것
  • 데이터를 분해하고 분석하여 원하는 형태로 조립하고 다시 빼내는 프로그램
  • 웹상에서 주어진 정보를 내가 원하는 형태로 가공하여 서버에서 불러들이는 것
  • 어떤 페이지(문서, html 등)에서 내가 원하는 데이터를 특정 패턴이나 순서로 추출해 가공하는 것
  • 파서(parser)는 컴파일의 일부로서 원시 프로그램의 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력으로 받아들여서 구문을 해석할 수 있는 단위와 여러부분으로 분할해주는 역할을 하는데, 이러한 파서(parser) 역할을 하는 컴퓨터가 구문 트리(parser tree)로 재구성하는 구문 분석 과정

파서(Parser)

  • 컴파일러의 일부
  • 원시 프로그램 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력(흔히 텍스트)으로 받아들여서 구분을 해석할 수 있는 단위로 여러 부분으로 해석해 주는 역할을 함
  • Compiler나 Interpreter에서 원시 프로그램을 읽어 들여, 그 문장이 구조를 알아내는 파싱을 행하여 주는 프로그램
  • 다른 언어에서 해석하기 쉽게 작은 요소로 데이터를 분해하는 컴파일러나 인터프리터 컴포넌트
  • 토큰의 시퀀스 형태의 입력, 명령어와 상호작용 또는 프로그램 지시를 받아 프로그램의 다른 컴포넌트에서 사용 가능한 형태로 분해하는 것

즉, 파싱은 분해하고 분석하여 목적에 맞게 구조를 결정하는 것을 말한다. 파싱하는 역할을 파서라고 부른다.

파싱(Parsing) 과정/방법

(1) 어휘 분석(Lexical Analysis)

  • 입력된 문자열 스트림으로부터 토큰을 생성하기 위해 사용됨
  • 작은 컴포넌트들을 의미있는 단위로 분해하기 위함

(2) 구문 분석(Syntactic Analysis)

  • 생성된 토큰이 의미가 있는 형태인지 확인
  • 문맥-자유 문법(context-free grammar)를 사용함
  • 의미를 형성하고 토큰이 있어야 할 순서를 정의함

(3) 의미 분석(Semantic Analysis)

  • 파싱의 최종 단계
  • 의미있고 유효한 표현들이 정해짐

'프로그래밍 > IT지식' 카테고리의 다른 글

[네트워크] 허브, 스위치, 라우터, 공유기  (0) 2024.06.24
테더링이란?  (0) 2024.06.24
마크업 언어란? xml 파일이란?  (0) 2024.06.24
URI, URL, URN 차이점  (0) 2024.06.24
클라우드(Cloud)란?  (0) 2024.06.23