Оценка небольшого языка математического типа, который поддерживает одну переменную

Я написал синтаксический анализатор, который считывает строковый ввод. Это работает. Я также написал оценщик, который выдает результат. Но есть одна маленькая деталь, которую мне сложно реализовать. Посмотрите на следующий пример:

+(sw+(2,2),sr)

Предполагается, что конструкция sw этого крошечного языка вычисляет "+ (2,2)" и где-то ее сохраняет. Конструкция sr будет читать эту область хранения. Все выражение over будет оцениваться как 8.

Я думаю об использовании дополнительного параметра для функции eval, которая сохраняет результат. Но я не вижу, чтобы это сработало. Обратите внимание: я новичок в haskell, так что будьте добры. О, это домашнее задание. Так что не давайте мне решения, дайте мне подсказку.

6
задан Bill the Lizard 23 September 2012 в 01:56
поделиться