ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인터프리터...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

     

    댓글

Designed by Tistory.