-
Признавайтесь кто по молодости "баловался" сей утопической затеей? Заглянул на днях в свой старенький винчестер и нашел архив со своими исходниками. В общем я дошел до такого:
module m1;
#console;
var int i,j,k[10];
main while(i < 7) { j = 0; while(j < 8) { j = j + 1; k[0] = k[0] + j + i; k[0] = k[5-5] + 99; } i = i + 1; } end;
В исходниках интерпретатора сейчас вообще разобраться не могу )
-
С 1999 года балуюсь. Вполне прикладная задача, но не как утопическое баловство. Более того прямо сейчас сижу и допиливаю новый функционал.
-
Постоянно занимаюсь, применяю в боевых проектах. А смысл вопроса-то ?
-
> применяю в боевых проектах
надеюсь, одним(языком) не ограничился?
-
> Dimka Maslov © (26.01.17 17:16) [1] > > С 1999 года балуюсь. Вполне прикладная задача, но не как > утопическое баловство. Более того прямо сейчас сижу и допиливаю > новый функционал.
И что полнофункциональный ЯП? Речь ведь об этом, а не мелком скриптообразном встроенном языке для какой то одной системы.
> Rouse_ © (26.01.17 17:21) [2] > > Постоянно занимаюсь, применяю в боевых проектах. > А смысл вопроса-то ?
Ну, к примеру, у меня в юнности была мечта написать именно полнофункциональный ЯП общего назначения.
>применяю в боевых проектах. Ну речь ведь о встроенных скриптах наверное?
>А смысл вопроса-то. Интересует кто какого функционала достиг в своих разработках, ну не реализовали ли вы же ООП итд.
-
> И что полнофункциональный ЯП?
Ну не то, чтобы полнофункциональный, но и не мелкий скриптообразный встроенный язык. Он обладает достаточным функционалом для решаемых задач, а вот ООП в нём сознательно недоразвит, хотя некоторые зачатки присутствуют. Используется для автоматизации инженерных расчётов в при проектировании мостов и гражданских сооружений.
-
В свое время разработал TDL (Template Definition Laguage - язык описания шаблонов) и написал его интерпретатор.
Язык, как это следует из его названия, позволял определить некий текстовый шаблон, а интерпретатор превращал этот шаблон в любой исходный код (Delphi, C, SQL...). Нечто вроде Lex & Yacc.
Использовалось в корпоративном проекте.
PS Эх, было время... а теперь - тоска, сплошь одна рутинная прикладуха, серьезных задач нет...
-
> ну не реализовали ли вы же ООП
ООП - нет, а вот СУБД - было дело. В 80-х еще.
-
>aka © (26.01.17 22:51) [4] >И что полнофункциональный ЯП?
Вполне себе полнофункциональный интерпретатор. С функциями, процедурами, отладчиком. ООП не поддерживает т.к. в задачах, для которых создавался это не нужно.
-
Мои эксперименты чем-то таким ограничились. Правда, парсер мне уже лень было писать :) http://roman.yankovsky.me/?p=467С предметно-ориентированными языками и встроенными скриптовыми системами все понятно. Там сугубо практическая мотивация. Но разработке языков общего назначения главный вопрос: а нафига? То есть: в чем собственно идея-то? Ну например, кому-то не хватает множественного наследования в Delphi и он делает свой Delphi с множественным наследованием. Это интересно. По крайней мере чтоб поиграться и посмотреть что получится. А язык ради языка - это разве что для самообразования.
-
-
-
> Эх, было время... а теперь - тоска, сплошь одна рутинная > прикладуха, серьезных задач нет...
Я уже скучаю по тоске.
-
Ну, например, в Scala очень распространено для библиотек-фреймворков создавать свой DSL, который можно использовать для разработки проектов использующих эти фреймворки. Скриптовые языки тоже там пишутся на раз-два, мне очень понравилось делать парсеры на Parser Combinators.
-
> ООП - нет, а вот СУБД - было дело. В 80-х еще. в институте делал курсовую подруге знакомого, на курс старше. ну как делал, дали файл, в нем что-то похожее на код, и знание что он должен делать, попросили разобраться что и как. ну разобрался, написал интерпретатор на используемые в коде функции, вместо таблицы файл с рекордами, в общем под моим интерпретатором выданный файл делал все что нужно, подруга все сдала на отлично, хотя так и не смогла объяснить как у нее, что работает (не так у остальных, но и запущенное преподом тоже работало, т.что все нормально). а на следующем семестре мы начали учить фохпро, и тут меня осенило... :).
-
> sniknik © (27.01.17 14:48) [14]
Хех... так ту СУБД я тоже делал для дамы и тоже в рамках ее проекта (правда, дипломного).
Шерше ля фам...
-
Добавил на днях if...elseВот этот код моего интерпретатора выполняется в 150 раз медленнее аналогичного кода в D7, интересно - это нормально или медленно? module m1;
#console;
var
int i,n,k;
main
while(i < 100000000)
if (i > 50)
if (i > 500)
if (i > 5000)
i = i + 1;
}
println(n);
println(k);
end;
-
> Вот этот код моего интерпретатора выполняется в 150 раз > медленнее аналогичного кода в D7, интересно - это нормально > или медленно?
на днях заметил, что код на C++ (в частности интерпретатор своего ЯП) выполняется в 100 (сто) раз медленнее, будучи скомилированным в режиме Debug, нежели в режиме Release...
-
Тестировала только что еще раз:
D7 : 1 Свой ЯП : 150 PHP(c командной строки) : 300
-
Говорят что VB 150 выдаёт.
|