아주 단순한 Forth의 부분 집합을 위한 평가기를 구현해 보세요.
Forth는 스택 기반 프로그래밍 언어예요. Forth의 작은 부분 집합을 위한 아주 기본적인 평가기를 구현해 보세요.
평가기는 다음 단어들을 지원해야 해요:
+, -, *, / (정수 연산)DUP, DROP, SWAP, OVER (스택 조작)평가기는 또한 관례적인 문법인 : word-name definition ;을 사용해 새로운 단어를 정의하는 것도 지원해야 해요.
간단하게 유지하기 위해 지원해야 하는 유일한 데이터 타입은 최소 16비트 크기의 부호 있는 정수예요.
문법에는 다음 규칙을 사용하세요: 숫자는 하나 이상의 (ASCII) 숫자로 이루어진 연속이고, 단어는 숫자가 아닌 하나 이상의 문자, 숫자, 기호 또는 구두점으로 이루어진 연속이에요. (Forth는 아마 조금 다른 규칙을 사용하지만, 이 정도면 충분히 비슷해요.)
단어는 대소문자를 구분하지 않아요.
tests/alloc-attack.rs에 추가된 테스트 케이스가 있어요. 이 테스트는 알고리즘적으로 비효율적인 구현을 겨냥해요. 그래서 이런 구현은 보통 실패로 끝나는 대신 온라인에서 시간 초과가 나는 경우가 많고, 그만큼 오류 메시지도 도움이 되지 않아요.