프로그래밍 언어/javascript

파서란?(Parser)

벌게진눈 2014. 1. 25. 21:31
반응형



파서(Parser)?

파서(parser)Compiler의 일부로서 원시 프로그램의 명령문이나 온라인 명령문, HTML 문서 등에서 Markup Tag 등을 입력으로 받아들여서 구문을 해석 할 수 있는 단위로 여러 부분으로 분할해 주는 역할을 한다. , CompilerInterpreter에서 원시 프로그램을 읽어 들여, 그 문장의 구조를 알아내는 구문 분석(parsing)을 행하는 프로그램 이다.

 

파싱(Parsing) 형태 - DOM & SAX

 

DOM SAX? 하나의 API 로서, XML 문서를 구조화시켜서 XML 문서를 원하는 방법으로 활용할 수 있게 해준다. DOM이나 SAXXML 문서에 있는 Data를 효과적으로 다루기 위해서 필요하다. 특정한 node 에 있는 Data만 가져오고, 특정한 Attribute 의 값을 수정 할 때, DOMSAX를 이용해서 이런 작업 들을 method 몇 개를 활용해서 쉽게 행할 수 있다. DOM SAX XML 문서에 접근해서 필요한 Data를 가져오거나 수정하는 API인 것이다.

XML 파서는 애플리케이션에게 어떤 방법으로든지 파싱한 결과를 넘겨줘야 하는데, 보통은 트리(Tree)기반의 파서와 이벤트(Event)기반의 파서 두 가지로 분류된다. 그리고 양쪽 모두 전 세계적 표준이 제안되어 있는 상태이다. 현재 W3C에서는 DOM이란 스펙을 제안한 상태로 파서가 트리 기반으로 작동할 때 제공되어야 할 트리의 인터페이스를 규정하고 있고, W3C의 표준은 아니나 이벤트 기반의 파서와 작업할 수 있는 업계 표준으로 SAX라는 표준이 제안되었다. DOMSAX의 차이점은 문서 접근 방식의 차이에 있다. DOM 파싱 모델은 트리를 통해 여러 번 순회할 필요가 있거나, 트리 구조를 수정하기를 원하거나, XML문서를 임의로 접근할 필요가 있을 때, 순차적 접근을 제공하는 SAX 모델보다 유용하다.




     DOM 형식 자세히 보기


  SAX 형식 자세히 보기 

반응형