2014-03-23 5 views
0

Я создаю виртуальную машину на основе стека в RPython, используя инструментарий PyPy, чтобы преобразовать RPython в C. До сих пор у меня есть 4 команды.Stack Machine со строками

  1. EOP - Конец программы
  2. ВЗ - Конец инструкции
  3. PUSH - Толчок элемент в стек
  4. PRINT - Печать в верхней части стека

Мой вопрос, как вы нажимаете String на вершину стека. Это то же самое, что когда вы нажимаете число вверху стека или мне нужно что-то делать при работе со строками?

ответ

0

Это зависит. Вы хотите нажать строку или указатель на строку? Если это первый, у вас есть проблема, потому что строка будет иметь переменную длину, в отличие от указателя или числа. Если это последний, вы должны учитывать управление памятью вне вашего стека.

+1

... что не имеет отношения к RPython, контексту, в котором задан вопрос. В случае с RPython вы не можете смешивать простые целые числа с другими объектами, такими как строки; обычный способ сделать это - создать базовый класс и два подкласса W_Int и W_String, каждый из которых содержит значение как целое число или как строку. –

 Смежные вопросы

  • Нет связанных вопросов^_^