Как стать автором
Обновить

Комментарии 19

Забавно, люблю такие штуки с грамматиками и автоматами. Мьсье знает толк.

А что за интерпретатор, кстати?
Самописный, на C#. Осторожно, быдлокод: paste.org.ru/?lrqfbp
Ругается: Timed out. A utility only has 2 second(s) of time to do it's work.
Можно было писать на РЕФАЛе (например, рефал-5), тогда не пришлось бы писать интерпретатор. А отличалось бы исключительно оформлением под синтаксис, ибо рефал — те же НАМ, только с го и гейшами.
А вот замечательный интерпретатор от моего знакомого — kc.vc/CIPQ
Написан на C#, GUI. Имеется редактор кода с подсветкой + динамически интерпретирует, быстро или по шагам.
image

(где end rules указатель => на |-> заменить надо, в остальном 100% совместимо)
Это, должен заметить, шедевр!
Мне кажется программа была бы раз в 5 короче, если бы вы использовали не 10ую, а 1ую систему исчисления :)
Да, но проблема в том, что унарная система исчисления неудобна для человека… А если делаешь лишний перевод из десятичной в унарную и наоборот, то может оказаться что количество действий вообще огромное
Ну я имел ввиду просто считать в унарной и не переводить. Но даже с переводом должно быть, как мне кажется, короче. Все-таки основа перевода (инкремент и декремент) у вас уже есть, а вот перемещение «a» и "*" в стороны сократится в 10 раз. Но нужно пробовать ;)
Сократится в коде, но при этом количество шагов увеличится неимоверно
Что да, то да.
Почему именно этот алгоритм?
Из-за относительной простоты реализации. А какой бы вы взяли?
например
но за статью спасибо
Я знаю этот алгоритм, но на НАМ реализовать мне такое будет действительно сложно
Если что, я не критиковал. Просто поинтересовался.

Отдельная мысль: если бы я хотел считать, то я бы считал тем методом, которым в школе учили. В столбик.
Как деление. Только я не знаю как он «по научному» называется (:
Патернализм мышления, знаете ли (:
О, как, свои люди на хабре!
В аспирантуре тематика исследования заключается в акселерации продукционных алгоримов Маркова. Чуть позже посмотрю код программы, возможно получится приложить то, что исследовано:) Прямо подмывает теперь написать краткую статейку о возможностях акселерации + модернизировать программу если получится.
Да, если будете модернизировать программу, учтите, что в ней есть маленькая бага. Когда первая цифра результата — 9-ка и результат по идее должен быть нецелым, то тогда получается 09. К примеру 82 превращается в 09. Жду статьи
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории