Я создаю симулятор MIPS и наткнулся на точку, которая, как мне кажется, имеет несколько решений. SPIM имитирует чтение из консоли с помощью операций системного вызова. Раньше я использовал SPIM, но в настоящее время не имею к нему доступа. Как он справляется с некорректными типами при чтении из консоли? Например, если вы выполняете системный вызов для read_int и вводите «asdf», а затем нажимаете клавишу ввода, что произойдет? Что должно произойти? Ссылки SPIM предполагают, что он считывает целое число из строки и игнорирует все после целого числа, что является просто совпадением регулярного выражения для первой последовательности цифр. Что произойдет, если сначала будут нецифровые числа, затем цифры, а затем еще больше нецифр? А если вообще без цифр?
Я не хочу воссоздавать SPIM и решил, что получу рекомендации от сообщества о том, как они хотели бы, чтобы симулятор MIPS работал при неправильном типе ввода.
Некоторые возможные входные данные для размышления:
1234 (правильно)
a1234 (что это должно делать?)
a1234b (что это должно делать?)
ab (что это должно делать? )
(что должно делать простое нажатие Enter?)
Спасибо!