Parsing (파싱), Parser (파서) 에 대해서

PersesTitan·2022년 8월 21일
0

OTLanguage

목록 보기
17/24

전 파서와 파싱을 난해한 프로그램 언어(OTLanguage)를 만들면서 알게 되었는데요.
그래서 파싱과 파서에 대해서 설명을 간단하게 적게 되었습니다.

파싱 (Parsing)

파서를 알아보기 전에 파싱을 알아보겠습니다.
파싱은 특정 패턴이나 순서등을 추출하여 컴퓨터가 알아들을 수 있게 바꾸어주는 작업을 말합니다.

예시로 간단한 사칙연산을 사용해보았습니다.
(OTLanguage 문법 입니다.)

12.34 ㅇ+ㅇ (32 ㅇ/ㅇ 34) ㅇ+ㅇ 34234

위 문법을 구문 트리로 만들면 아래와 같은 구문 트리가 만들어지게 됩니다.

이렇게 토큰으로 분리되어 각 문장을 컴퓨터가 인식할 수 있게 만드는 작업을 하는 것 입니다.

사칙연산을 위해서는 <숫자> <연산자> <숫자> 이여야 하는데 만약 <숫자> <연산자> <다른 무언가> 와 같이 규칙에 맞지 않는 규칙이 들어가 있다면 변환하지 못하고 있어야 하는 것이죠.

구문 분석 성공 예시

정상적으로 문법에 맞게 입력하면 파싱이 올바르게 작동합니다.

구문 분석 실패 예시

   34        ㅇ+ㅇ    342아34
<숫자>  <연산자>   <???>

파서 (Parser)

사실 파서는 단순히 파싱을 하는 프로그램을 말하는 것입니다.


여담으로 OTLanguage에는 전용 파서를 직접 들어가있습니다.
1개씩 계산해 내려가는 동작을 출력하면 아래처럼 동작합니다.

profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

0개의 댓글