프로그래밍 소스 코드를 스캐닝하고 싶을 때 사용 할 수 있는 유닛입니다. 스캐닝 후 공백 등의 화이트 스페이스와 코멘트는 무시하고, 특수문자(ttSpecialChar), 문자열(ttString), 숫자(ttNumber), 식별자(ttIdentifier)를 찾아 줍니다. 제가 예전에 계산기 및 프로그래밍 언어를 만들 때 사용하던 것입니다.
소스보기: http://goo.gl/Ucev3A
사용법
procedure ....; var Scanner : TScanner; Token : TToken; begin Scanner := TScanner.Create; Scanner.SetText( '소스코드...' ); repeat Token := Scanner.GetNextToken; if Token.TokenType = ttString then WriteLn( Format('* %4d:%3d - ''%s''', [Token.Line, Token.Col, Token.Text]) ); until Scanner.IsEOF; ... end;
7: SetText 메소드를 이용해서 스캐닝하고자 하는 소스코드 내용을 입력합니다.
9-16: 소스 코드의 끝까지 검색하면서 반복합니다.
10: GetNextToken 메소드는 현재 위치 이후의 토큰을 찾아 줍니다.
12-15: 찾아낸 토큰(TToken)에는 소스 내의 라인 위치 및 토큰의 타입 등을 알 수가 있습니다.
기타
권한 상승 중인 프로그램에서 권한이 낮은 상태로 프로그램 실행시키기 (0) | 2014.10.27 |
---|---|
Convert Enum to Java (0) | 2014.10.27 |
소스코드에서 문자열만 검색하기 (0) | 2014.10.07 |
A simple Delphi class for parallel processing. (4) | 2013.11.20 |
UPnP - 포토 포워딩 설정 (Delphi 버전) (0) | 2013.07.24 |