История изменений
Исправление 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
*/