[구현 과제] 재귀하강 파서 구현
2024. 5. 4. 14:13ㆍPrograming Language
프로그램 개요
l 본 프로그램은 EBNF로 문법이 정의되는 언어를 위한 Recursive-Descent Parser를 C/C++, Java, Python으로 각각 구현한 프로그램임, 프로그램은 아래의 EBNF문법을 모두 구현함
프로그램 주요 로직
- 사용자 입력 처리:
- 프로그램 실행 시 사용자의 입력을 한 줄씩 받습니다.
- 사용자가 'exit'을 입력할 때까지 계속해서 입력을 받습니다.
- 전역 변수 및 함수:
- 전역 변수로는 pos (커서의 위치)와 token (토큰)이 있습니다.
- getNextToken() 함수를 사용하여 다음 토큰을 읽고 커서의 위치를 관리합니다.
- 프로그램 실행 흐름:
- program() 함수:
- 입력이 끝날 때까지 각 statement를 읽습니다.
- statement() 함수:
- 첫 토큰에 따라 할당문 또는 출력문을 실행합니다.
- program() 함수:
- 수식 처리:
- expr() 함수:
- 토큰을 미리 보고 산술 표현식 또는 불 표현식으로 분기합니다.
- bexpr() 함수:
- compare()를 사용하여 true 또는 false를 반환합니다.
- aexpr() 함수:
- term(), factor(), number(), dec() 함수를 사용하여 숫자의 사칙 연산을 수행합니다.
- expr() 함수:
'Programing Language' 카테고리의 다른 글
[프로그래밍 언어론] 2.프로그래밍 언어 의미론 (0) | 2024.05.04 |
---|---|
[프로그래밍 언어론] 1. 프로그래밍 언어의 종류와 특징 (0) | 2024.05.04 |