Forth

Forth

Складна

Вказівки

Реалізуйте обчислювач для дуже простої підмножини Forth.

Forth належить до стекових мов програмування. Реалізуйте дуже простий обчислювач для невеликої підмножини Forth.

Обчислювач має підтримувати такі слова:

  • +, -, *, / (арифметика з цілими числами)
  • DUP, DROP, SWAP, OVER (операції зі стеком)

Обчислювач також має підтримувати визначення нових слів за допомогою звичного синтаксису: : word-name definition ;.

Задля простоти потрібно підтримувати лише один тип даних: знакові цілі числа розміром щонайменше 16 біт.

Для синтаксису діють такі правила: число - послідовність з однієї або більше (ASCII) цифр, а слово - послідовність з однієї або більше літер, цифр, символів або розділових знаків, яка не є числом. (Forth, імовірно, використовує дещо інші правила, але це досить близько.)

Слова не чутливі до регістру.

Ефективне виділення памʼяті

Зверніть увагу на додатковий тестовий випадок у tests/alloc-attack.rs. Він перевіряє алгоритмічно неефективні реалізації. Через це він зазвичай завершується за тайм-аутом у режимі онлайн, а не явно провалюється, що призводить до менш корисного повідомлення про помилку.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Rust Exercism

Час розпочати Forth?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Rust, а також 99 вправ та справжнє наставництво від людей, і все це безкоштовно.