누구나 한 번쯤은 만들어 본다는 계산기 프로그램입니다.
Lex와 Yacc를 사용하지 않고,
순수 코딩으로 컴파일러를 만드는 과정 중에 테스트 용으로 만든 것입니다.
회사 일이 한가해지면, 준비해서 강좌를 만들어볼 생각입니다.
수식을 쓰고 "=" 키를 누르면 계산결과를 해당 라인 끝에 붙여 줍니다.
함수는 반드시 함수명() 형태여야 합니다.
사용 가능한 함수는 Sin, Cos, Tan, ArcSin, ArcCos, ArcTan, Ln, Log, Log2, Degree 입니다.
Functions라는 클래스의 Published에 메소드만 추가하면 자동 인식하도록 해뒀습니다.
Sin(Pi/2) * 3 = 3
Degree(30) = 0.523598775598299 // 각도를 라디안 값으로 변환합니다.
지수표현식도 가능합니다.
+/-의 경우에는 연산자와 부호의 두 가지 의미가 있습니다.
부호 처리는 아래와 같습니다.
제곱 연산자는 ^ 입니다.