Jul 31, 2016 15:22
Сейчас пишу библиотеку по построения строки по шаблону. Вещь полезная.
Как всё работает?
Пользователь библиотеки т.е. я)) вводи кол-во байт резервируемых на стеке возвратов.
Происходит автоматическое выравнивание на разрядность ячейки ( в моём случае на 4).
Допустим пользователь введёт 203, программа поправит на 1 байт т.е будет 204.
Также компилируется лямбда на снятие резервирования стека , её адрес укладывается на стек возвратов.
Потом происходит разбор строки на поиск мета-поддстановок ( {s} {un} {byte} ).
Часть строки до подстановки компилируется, также компилируется код, который укладывает это частистрочие
Каждая подстановка компилирует свой код, который возмёт со стека данных требуемые значения при вызове.
И строка снова парсится на поиск подстановок.
После всех этих махинаций на стеке данных появляется указатель на строку
метаъязык,
Форт/ Forth,
программирование