LINUX.ORG.RU

История изменений

Исправление crutch_master, (текущая версия) :

Исходники можно найти здесь

Да ты жесткий школьник.

да и что нового можно придумать в наше время?

Пффф. Много чего. Например метаязык для которого код каком-нибудь языке будет результатом реализации на нём же.
Или меташаблонизатор запили. Пишешь файл с ключевыми словами и описанием того, что они делают, второй файл - шаблон, который эти описания использует. Подаешь эти два файла программе, она выдаёт третий. Например:

//Правила -> код
"(dight+dight)" -> (a,b) {return a+b);
"`from` s+s(s->s),...","%from where %where" -> (t1,t2,id1,id2) {return {from:t1+","+t2, where: t1+"."+id1+" = "+ t2+"."+id2}
/*Шаблон:
1 + 2 = (1+2)
select * from users+msg(id->id_user)
//Выхлоп
1 + 2 = 3
select * from users,msg where users.id = msg.id_user
*/
Делается просто, на любой скриптоте, нужно для метапрограммирования на всяком дерьме.

Исходная версия crutch_master, :

Исходники можно найти здесь

Да ты жесткий школьник.

да и что нового можно придумать в наше время?

Пффф. Много чего. Например метаязык для которого код каком-нибудь языке будет результатом реализации на нём же.
Меташаблонизатор запили. Пишешь файл с ключевыми словами и описанием того, что они делают, второй файл - шаблон, который эти описания использует. Подаешь эти два файла программе, она выдаёт третий. Например:

//Правила -> код
"(dight+dight)" -> (a,b) {return a+b);
"`from` s+s(s->s),...","%from where %where" -> (t1,t2,id1,id2) {return {from:t1+","+t2, where: t1+"."+id1+" = "+ t2+"."+id2}
/*Шаблон:
1 + 2 = (1+2)
select * from users+msg(id->id_user)
//Выхлоп
1 + 2 = 3
select * from users,msg where users.id = msg.id_user
*/
Делается просто, на любой скриптоте, нужно для метапрограммирования на всяком дерьме.