Можно было писать на РЕФАЛе (например, рефал-5), тогда не пришлось бы писать интерпретатор. А отличалось бы исключительно оформлением под синтаксис, ибо рефал — те же НАМ, только с го и гейшами.
А вот замечательный интерпретатор от моего знакомого — kc.vc/CIPQ
Написан на C#, GUI. Имеется редактор кода с подсветкой + динамически интерпретирует, быстро или по шагам.
(где end rules указатель => на |-> заменить надо, в остальном 100% совместимо)
Да, но проблема в том, что унарная система исчисления неудобна для человека… А если делаешь лишний перевод из десятичной в унарную и наоборот, то может оказаться что количество действий вообще огромное
Ну я имел ввиду просто считать в унарной и не переводить. Но даже с переводом должно быть, как мне кажется, короче. Все-таки основа перевода (инкремент и декремент) у вас уже есть, а вот перемещение «a» и "*" в стороны сократится в 10 раз. Но нужно пробовать ;)
Если что, я не критиковал. Просто поинтересовался.
Отдельная мысль: если бы я хотел считать, то я бы считал тем методом, которым в школе учили. В столбик.
Как деление. Только я не знаю как он «по научному» называется (:
Патернализм мышления, знаете ли (:
О, как, свои люди на хабре!
В аспирантуре тематика исследования заключается в акселерации продукционных алгоримов Маркова. Чуть позже посмотрю код программы, возможно получится приложить то, что исследовано:) Прямо подмывает теперь написать краткую статейку о возможностях акселерации + модернизировать программу если получится.
Да, если будете модернизировать программу, учтите, что в ней есть маленькая бага. Когда первая цифра результата — 9-ка и результат по идее должен быть нецелым, то тогда получается 09. К примеру 82 превращается в 09. Жду статьи
Извлечение квадратного корня с помощью нормальных алгоритмов Маркова