یک ارزیاب برای زیرمجموعهی بسیار سادهای از Forth پیادهسازی کنید.
Forth یک زبان برنامهنویسی مبتنی بر پشته است. یک ارزیاب بسیار پایهای برای زیرمجموعهی کوچکی از Forth پیادهسازی کنید.
ارزیاب شما باید از واژههای زیر پشتیبانی کند:
+، -، *، / (محاسبات اعداد صحیح)DUP، DROP، SWAP، OVER (دستکاری پشته)ارزیاب شما همچنین باید تعریف واژههای جدید را با نحوهی نگارش معمول پشتیبانی کند: : word-name definition ;.
برای اینکه کارها ساده بماند، تنها نوع دادهای که باید پشتیبانی کنید اعداد صحیح علامتدار با اندازهی حداقل ۱۶ بیت است.
برای نحوهی نگارش باید از این قواعد استفاده کنید: یک عدد دنبالهای از یک یا چند رقم (ASCII) است و یک واژه دنبالهای از یک یا چند حرف، رقم، نماد یا نشانهگذاری است که عدد نباشد. (Forth احتمالاً قواعد کمی متفاوتی دارد، اما این بهقدر کافی نزدیک است.)
واژه به بزرگی و کوچکی حروف حساس نیست.
به مورد آزمون اضافهای در tests/alloc-attack.rs توجه کنید. این آزمون پیادهسازیهای ناکارآمد از نظر الگوریتمی را میآزماید. به همین دلیل، معمولاً در حالت آنلاین بهجای اینکه قطعاً شکست بخورد، زمانش تمام میشود و در نتیجه پیام خطای کمکیارتری دریافت میکنید.