C++로 자작 언어(ClauText) 만들기

기본 작동 원리 C

$add = { 1 $local.i }

 우선, 위 문장을 StringTokenizer등을 이용해서 단어?(토큰, Token)들로 나눈다.

(그리고 $local.i를 해당되는 값으로 치환한다)

 여기서 중요한 점은 앞에서 부터 검색?하는 것이 아니라 뒤에서부터 검색한다는 것이다.

 $로 시작하는 단어가 나오면 현 위치를 저장하고,  오른쪽 방향으로 검색하여 } 를 만날때까지

데이터(Token)들을 저장한다. (실제로는 stack을 이용하기 때문에 오른쪽방향으로 다시 검색하지 않는다.)

 그리고 $로 시작하는 단어에 헤당하는 동작을 수행한다.

여기에는 $concat, $concat_all, $add 등이 있다. (수십개 정도 된다)

 

댓글

댓글 본문
버전 관리
vztpv
현재 버전
선택 버전
graphittie 자세히 보기