Основанные на стеке языки: плюсы / минусы регистра? - PullRequest
0 голосов
/ 29 марта 2020

В настоящее время я разрабатываю основанный на стеках язык программирования c для стека гольф-кода ( International Phoneti c Esoteri c Language / IPEL ), который в своем нынешнем выпуске c , имеет стек значений, которые пользователь может изменять.

Однако, после попытки выполнить несколько простых задач (и исходя из более процедурного и OOP фона), я подумывал о добавлении одного регистра и его связанные инструкции (stack → reg, reg → stack, et c) для использования пользователем. (Это было в версии -1 языка spe c, но я решил сделать это в пользу чистой манипуляции со стеком.)

Каковы плюсы и минусы наличия изменяемого пользователем регистра в стеке язык?

1 Ответ

0 голосов
/ 29 марта 2020

Мне кажется, что основное преимущество языка на основе стека заключается в том, что вам не нужно беспокоиться о том, какие регистры могут использоваться в подпрограммах, поэтому вам не нужно делать какие-либо операции сохранения / восстановления или выделения регистров. .

Ваш одиночный регистр звучит так, как будто это испортит ситуацию.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...