В рамках университетского проекта мы должны написать компилятор для игрушечного языка. Чтобы сделать некоторые тесты для этого, я рассматривал, как лучше всего писать что-то вроде модульных тестов. Поскольку компилятор написан в haskell, Hunit и quickcheck доступны, но, возможно, не совсем подходят.Модульные тесты для выхода компилятора
Как мы можем провести какое-либо не-ручное тестирование? Единственная идея, с которой я столкнулся, - это эффективно компилировать haskell тоже, видя, что такое вывод, и используя какой-то сценарий оболочки, чтобы сравнить это с выходом скомпилированной программы - это довольно немного работы и не слишком элегантный тоже.
Единичное тестирование помогает нам и не является частью самой оцениваемой работы.
Вам не нужно компилироваться в Haskell - вы также можете просто написать простую ссылочную реализацию интерпретатора. – sclv