-
인터프리터...26일지 2020. 12. 14. 11:36
전자 계산기 프로그램
재귀적 하향 구문 분석 루틴을 이용해 전자 계산기를 만든다. 적용할 기능은 다음과 같다.
- 변수는 a~z, 26개
- 정수만 지원
- 연산 및 대입 처리
- 연산자 () + - * / 지원
- 사칙 연산 법칙 적용
- ? 로 출력
- 공백 상태에서 엔터 시 종료
MiniCalculator.h
#pragma once #include <iostream> #pragma region 토큰 설정 enum class TokenKind : char { LeftParenthesis = '(', RightParenthesis = ')', Plus = '+', Minus = '-', Multiply = '*', Divide = '/', Assign = '=', Print = 1, VariableName, Int, EndOfToken, Others, }; struct Token { Token() :tokenKind(TokenKind::Others), intValue(0) {} Token(TokenKind tokenKind, int intValue = 0) :tokenKind(tokenKind), intValue(intValue) {} TokenKind tokenKind; int intValue; }; #pragma endregion
참고문헌참고문헌