javascript2011. 8. 27. 18:28

highlighter 를 구상하면서 lexer의 필요성을 느끼게 되었다.

간략하게 만들어본다.

 

keywords 리스트는 중요한것이 아니고

token 이름과 해당 토큰에 해당되는 정규식의 쌍인

tokList 가 가장 중요하다.

lexer 류는 문자열을 앞에서부터 token으로 끊기 때문에

자바스크립트에서 비슷하게 구현하기 위해서

모든 정규식 앞에 ^ (앵커:문자열 시작에 매칭) 를 추가하였다. 

lexer류가 그렇듯이

어떤 토큰도 인식할수 없으면 그 뒤로는 매칭이 불가능하다.

따라서 문자열에서 나타날수 있는 모든 범위의 정규식과 토큰을 정의해줘야 한다.


토큰에도 동시에 여러문자열에 매치될 가능성이 있기 때문에

우선순위 효과를 내게 하기 위해 가장 먼저 매치된 토큰을 반환한다.

소스에는 alert로 토큰명과 토큰을 표시하게 되어 있는데 주석처리해도 무방하다. 

'javascript' 카테고리의 다른 글

assa highlighter  (0) 2011.08.31
엘리먼트 이하 모든 텍스트 얻어내기 , 재귀  (0) 2011.08.28
간단한 DOM 탐색 자바스크립트  (0) 2011.08.28
javascript 간단한 렉서 만들기  (0) 2011.08.27
scope  (0) 2011.08.27
highlighter? 흉내  (0) 2011.08.27
Posted by 멍충한아싸

댓글을 달아 주세요