metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-04-04 09:41 am

Первым шагом

на пути грехопадения в функциональщину, кодогенерацию и теорию категорий было то, что я в 199x каком-то там году разобрался, как написать парсер математических выражений с разнообразными встроенными функциями, if, case и прочей такой шизой.
Шо таки ужасно, сейчас я сижу и дорабатываю его далекого потомка на предмет построения списка зависимостей между входными и выходными данными и использования этого списка для расчетов.
Да, а штангу и прочее железо я таскал задолго до того, еще в 9 классе школы.

[identity profile] aamonster.livejournal.com 2010-04-04 11:29 am (UTC)(link)
Это, наверное, у всех было. Мой парсер занимал меньше 100 строк на паскале, при этом понимая синус, косинус и тернарную операцию. А через некоторое время его потомок, компилящий в байткод и умеющий вычислять выражения типа avg(sqr(v-avg(v)) на массивах входных данных, вошел в реальную прогу (часть коммерческого проекта), следующая версия которой стала моим дипломным проектом.

[identity profile] inhate.livejournal.com 2010-04-04 12:54 pm (UTC)(link)
Настоящий программист от ненастоящего отличается тем, что сначала пишет свой компилятор, а только потом лишается девственности...

[identity profile] metaclass.livejournal.com 2010-04-04 04:03 pm (UTC)(link)
А вот насчет этого я не уверен, вроде это было где-то в одном временном интервале :)

[identity profile] blacklion.livejournal.com 2010-04-04 06:10 pm (UTC)(link)
точно! У меня был компилятор компиляторов на базе LL(1)-грамматик на паскале. Ужос. Жаль, он утерян давно…