아주 단순한 Forth의 부분 집합을 위한 평가기를 구현해 보세요.
Forth는 스택 기반 프로그래밍 언어예요. Forth의 작은 부분 집합을 위한 아주 기본적인 평가기를 구현해 보세요.
평가기는 다음 단어들을 지원해야 해요:
+, -, *, / (정수 연산)DUP, DROP, SWAP, OVER (스택 조작)평가기는 또한 관례적인 문법인 : word-name definition ;을 사용해 새로운 단어를 정의하는 것도 지원해야 해요.
간단하게 유지하기 위해 지원해야 하는 유일한 데이터 타입은 최소 16비트 크기의 부호 있는 정수예요.
문법에는 다음 규칙을 사용하세요: 숫자는 하나 이상의 (ASCII) 숫자로 이루어진 연속이고, 단어는 숫자가 아닌 하나 이상의 문자, 숫자, 기호 또는 구두점으로 이루어진 연속이에요. (Forth는 아마 조금 다른 규칙을 사용하지만, 이 정도면 충분히 비슷해요.)
단어는 대소문자를 구분하지 않아요.
입력은 문자열 배열로 주어져요.
정의는 : var x ... ; 형태로 주어지는데, 여기서 var는 뒤에 오는 내용에 바인딩돼요.
그 밖의 경우, 문자열은 일련의 스택 조작을 나타내요.