[광박사] Computer Science/전산용어 : [1] 파싱(Parsing)과 파서(Parser)
파싱(Parsing) - 컴퓨터가 알아먹기 쉽게, 구분을 잘게 잘게 쪼개서 컴퓨터 문법에 맞게!
- 언어학에서 "파싱(Parsing)"은 구문분석이라고도 합니다. (구분분석을 하려면 단어마다 잘게 잘게 쪼개야겠쥬??)
- 구분 분석을 통해, 문장을 그것을 이루고 있는 구성 성분으로 분해하고, 그들 사이의 위계 관계를 분석하여 전체적인
문장의 구조를 결정하는 것입니다. (잘게 쪼갠 단어마다 분석해서 앞뒤 구조를 만들어야겠쥬??)
- 컴퓨터 과학에서는 파싱(Parsing)은 일련의 문자열을 의미있는 토큰(Token) 즉, 어휘 분석 단위로 분해하고, 그것들로
이루어진 파서트리(Parse tree)를 만드는 과정입니다.
- 파서트리(Parse tree)를 통해 어떤 문장을 분석하거나 문법적 관계를 해석하는 행위로 진행합니다.
(만들어진 구조를 이제 해석해야겠쥬??)
- 특히나 프로그램을 컴파일하는 과정에서 특정프로그래밍 언어가 제시하는 문법을 잘 지켜서 작성하였는지 컴파일러가
정리합니다.(해석하기 전에, 문법에 맞는지 확인해야겠쥬??)
---------------------------------------------------------------------------------------------------------------------------------
<XML 파싱 예시>
- 예를 들면, XML 문서를 읽고 해석하며 태그명, 속성명, 측정값 및 엘리먼트 내용을 분리해주는 프로그램이 있는데,
이는 XML parser는 XML 문서가 XML 문법에 맞게 작성되었는지를 검사하며, 인터넷에 주어진 정보를 내가 원하는대로
가공하여 서버에서 원하는 때 불러낼 수 있도록 합니다.
: 웹 브라우저인 Explorer 또한 하나의 응용 프로그램으로 XML parser가 Parsing한 결과를 이용해 Display하도록
programming 되어요 ^^
: 특정 문서(XML, HTML 등)을 읽어, 다른 프로그램이나 서브루틴이 사용할 수 있는 내부의 표현 방식으로 변환해줘요
: <>와 같은 태그를 사용자가 입력하면 컴퓨터가 알아서 볼 수 있도록 바꿔주는 과정을 다시 말해 파싱!
: 컴파일러의 일부로 원시프로그램의 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력으로 받아들
여 구문을 해석할 수 있는 단위로 여러 부분으로 분할해주는 역할을 수행해요.
: 파싱(Parsing) 기법으로 XML 파싱기법인 DOM, SAM과 JSON 파싱 기법이 있어요.
---------------------------------------------------------------------------------------------------------------------------------
파서(Parser) - 파싱을 하는 프로그램을 보고 파서
: 컴퓨팅에서 파서(Parse)는 인터프리터나 컴파일러의 구성요소 가운데 하나로, 입력 토큰(Token)에 내재된 자료구조를
빌드하고 문법을 검사한다. (그냥 파싱하는 아이를 보고 파서라고 해요!!)
: 파서(Parse)는 일련의 입력문자로부터 토큰(Token)을 만들기 위해 별도의 낱말 분석기를 이용하기도 한다.
: 파서(Parse)는 수작업으로 프로그래밍되며, 도구에 의해 (반)자동적으로 만들어질 수 있다.
: 파싱(Parsing)하는 processor, 즉 파서(Parser)가 파싱(Parsing)하는 것이다.
: 다시말해, 파서(Parser_란 컴파일러의 일부로 컴파일러나 인터프리터에서 원시 프로그램을 읽어 들여 그 문장 구조를
알아내는 parsing(구분분석)을 행하는 프로그램
<참고자료>
[1] https://ko.wikipedia.org/wiki/%EA%B5%AC%EB%AC%B8_%EB%B6%84%EC%84%9D, 위키백과
[2] https://na27.tistory.com/23, na27