[용어] 파싱(Parsing), 파서(Parser)
Parsing
- 언어학에서 parsing은 구문 분석이라고도하며 문장을 그것을 이루고 있는 구성 성분으로 분해하고 그들 사이의 위계 관계를 분석하여 문장의 구조를 결정하는 것
- 데이터를 조립해 원하는 데이터를 빼내는 프로그램을 하는것
- 컴퓨터 과학에서 parsing은 일련의 문자열을 의미있는 token(어휘 분석의 단위) 으로 분해하고 그것들로 이루어진Parse tree를 만드는 과정
- 어떤 문장을 분석하거나 문법적 관계를 해석하는 행위
- 프로그램을 compile하는 과정에서 특정 프로그래밍 언어가 제시하는 문법을 잘 지켜서 작성하였는지 compiler가 검사하는 것
ex) XML parser는 XML 문서가 XML 문법에 맞게 작성되었는지 검사 - XML 문서를 읽고 해석하여 태그명, 속성명, 속성값 및 엘리먼트 내용을 분리해 주는 프로그램
- 인터넷에 주어진 정보를 내가 원하는대로 가공하여 서버에서 원하는 때 불러올 수 있도록 하는 것
- 웹 브라우저인 explorer 또한 하나의 응용프로그램으로 XML parser가 parsing(해석)한 결과를 이용해 display 하도록 programming 되었었다
- 어떤 data를 원하는 form으로 만들어 내는 것
- 특정 문서(XML, HTML 등)을 읽어 다른 프로그램이나 서브루틴이 사용할 수 있는 내부의 표현 방식으로 변환해 주는 것
ex) 학교 홈페이지의 공지사항(태그 안의 text 내용이 있는 것)을 읽어와서 그 중 텍스트 내용만 따로 저장하는 등의 다른 프로그램이나 서브루틴이 사용할 수 있는 표현방식으로 변경
(의미를 파악하면서 읽는다- 값이 얼마인지 id 태그의 이름이 무엇인지 등을 파악) - <>와 같은 태그를 사용자가 입력하면 컴퓨터가 알아볼 수 있도록 바꿔주는 과정
- 컴파일러의 일부로 원시 프로그램의 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력으로 받아들여 구문을 해석할 수 있는 단위로 여러부분으로 분할해주는 역할
- Parsing 기법으로 XMl 파싱 기법인 DOM과 SAX / JSON 파싱 기법이 있다
Parser
- 컴퓨팅에서 parse는 interpreter나 compiler의 구성 요소 가운데 하나로 입력 token에 내재된 자료 구조를 빌드하고 문법을 검사한다
- parse는 일련의 입력 문자로부터 token을 만들기 위해 별도의 낱말 분석기를 이용하기도 한다
- parser는 수작업으로 프로그래밍되며 도구에 의해 (반)자동적으로 만들어질 수 있다
- parsing을 하는 processor 즉 parser가 parsing을 하는 것이다
- parsing을 수행하는 프로그램
- parser란 compiler의 일부로 컴파일러나 인터프리터에서 원시 프로그램을 읽어 들여 그 문장의 구조를 알아내는 parsing(구문 분석)을 행하는 프로그램
- 원시 프로그램(기계어로 번역되기 전의 프로그램)의 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력으로 받아들여 구문을 해석할 수 있는 단위로 여러 부분으로 분할해주는 역할
- Compiler나 Interpreter에서 원시 프로그램을 읽어 들여 그 문장의 구조를 알아내는 구문분석(parsing)을 행하는 프로그램
'일반' 카테고리의 다른 글
[Network] XMLHttpRequest란? 개념 (0) | 2019.12.03 |
---|---|
[용어] Ajax(Asynchronous JavaScript and XML) + "XML" (0) | 2019.12.01 |
[Socket - (1) ] 웹소켓(WebSocket)이란? (0) | 2019.11.30 |
[용어] 롤백(Rollback)이란? (0) | 2019.10.29 |
[용어] framework(프레임워크)란? (0) | 2019.10.29 |
[용어 - (9) ] 127.0.0.1 ─ 로컬(IPv4), IPv6 ㅡ ::1, localhost ㅡ 로컬(IPv4) (0) | 2019.10.29 |
[용어 - (9) ] DOM(The Document Object Model)이란? (0) | 2019.10.28 |