Конференция "Прочее" » Свой ЯП
 
  • aka © (26.01.17 16:11) [0]
    Признавайтесь кто по молодости "баловался" сей утопической затеей?
    Заглянул на днях в свой старенький винчестер и нашел архив со своими исходниками. В общем я дошел до такого:


    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;
     

    В исходниках интерпретатора сейчас вообще разобраться не могу )
  • Dimka Maslov © (26.01.17 17:16) [1]
    С 1999 года балуюсь. Вполне прикладная задача, но не как утопическое баловство. Более того прямо сейчас сижу и допиливаю новый функционал.
  • Rouse_ © (26.01.17 17:21) [2]
    Постоянно занимаюсь, применяю в боевых проектах.
    А смысл вопроса-то ?
  • картман © (26.01.17 22:04) [3]

    > применяю в боевых проектах

    надеюсь, одним(языком) не ограничился?
  • aka © (26.01.17 22:51) [4]

    > Dimka Maslov ©   (26.01.17 17:16) [1]
    >
    > С 1999 года балуюсь. Вполне прикладная задача, но не как
    > утопическое баловство. Более того прямо сейчас сижу и допиливаю
    > новый функционал.

    И что полнофункциональный ЯП? Речь ведь об этом, а не мелком скриптообразном встроенном языке для какой то одной системы.


    > Rouse_ ©   (26.01.17 17:21) [2]
    >
    > Постоянно занимаюсь, применяю в боевых проектах.
    > А смысл вопроса-то ?

    Ну, к примеру, у меня в юнности была мечта написать именно полнофункциональный ЯП общего назначения.

    >применяю в боевых проектах.
    Ну речь ведь о встроенных скриптах наверное?

    >А смысл вопроса-то.
    Интересует кто какого функционала достиг в своих разработках, ну не реализовали ли вы же ООП итд.
  • Dimka Maslov © (26.01.17 22:59) [5]

    > И что полнофункциональный ЯП?


    Ну не то, чтобы полнофункциональный, но и не мелкий скриптообразный встроенный язык. Он обладает достаточным функционалом для решаемых задач, а вот ООП в нём сознательно недоразвит, хотя некоторые зачатки присутствуют. Используется для автоматизации инженерных расчётов в при проектировании мостов и гражданских сооружений.
  • Юрий Зотов © (26.01.17 23:06) [6]
    В свое время разработал TDL (Template Definition Laguage - язык описания шаблонов) и написал его интерпретатор.

    Язык, как это следует из его названия, позволял определить некий текстовый шаблон, а интерпретатор превращал этот шаблон в любой исходный код  (Delphi, C, SQL...). Нечто вроде Lex & Yacc.

    Использовалось в корпоративном проекте.

    PS
    Эх, было время... а теперь - тоска, сплошь одна рутинная прикладуха, серьезных задач нет...
  • Юрий Зотов © (26.01.17 23:09) [7]
    > ну не реализовали ли вы же ООП

    ООП - нет, а вот СУБД - было дело. В 80-х еще.
  • Сергей Суровцев © (26.01.17 23:35) [8]
    >aka ©   (26.01.17 22:51) [4]
    >И что полнофункциональный ЯП?

    Вполне себе полнофункциональный интерпретатор. С функциями, процедурами, отладчиком. ООП не поддерживает т.к. в задачах, для которых создавался это не нужно.
  • Kerk © (26.01.17 23:43) [9]
    Мои эксперименты чем-то таким ограничились. Правда, парсер мне уже лень было писать :)
    http://roman.yankovsky.me/?p=467

    С предметно-ориентированными языками и встроенными скриптовыми системами все понятно. Там сугубо практическая мотивация. Но разработке языков общего назначения главный вопрос: а нафига? То есть: в чем собственно идея-то? Ну например, кому-то не хватает множественного наследования в Delphi и он делает свой Delphi с множественным наследованием. Это интересно. По крайней мере чтоб поиграться и посмотреть что получится. А язык ради языка - это разве что для самообразования.
  • Jeer © (27.01.17 04:48) [10]
    У меня вполне себе используется свой script-pascal.
    Пример: Описание генерации сигнала.
    http://savepic.ru/12768352.png
  • Pavia © (27.01.17 05:57) [11]
    Моё творение.
    http://compiler.forumcity.com/viewtopic.php?t=17&sid=ac87dbdb58a4c630a17caecc26292a86

    Есть функции, структуры, указатели. ООП не делал.
  • DayGaykin © (27.01.17 08:31) [12]

    > Эх, было время... а теперь - тоска, сплошь одна рутинная
    > прикладуха, серьезных задач нет...

    Я уже скучаю по тоске.
  • Andryk © (27.01.17 13:56) [13]
    Ну, например, в Scala очень распространено для библиотек-фреймворков создавать свой DSL, который можно использовать для разработки проектов использующих эти фреймворки.
    Скриптовые языки тоже там пишутся на раз-два, мне очень понравилось делать парсеры на Parser Combinators.
  • sniknik © (27.01.17 14:48) [14]
    > ООП - нет, а вот СУБД - было дело. В 80-х еще.
    в институте делал курсовую подруге знакомого, на курс старше. ну как делал, дали файл, в нем что-то похожее на код, и знание что он должен делать, попросили разобраться что и как. ну разобрался, написал интерпретатор на используемые в коде функции, вместо таблицы файл с рекордами, в общем под моим интерпретатором выданный файл делал все что нужно, подруга все сдала на отлично, хотя так и не смогла объяснить как у нее, что работает (не так у остальных, но и запущенное преподом тоже работало, т.что все нормально).
    а на следующем семестре мы начали учить фохпро, и тут меня осенило... :).
  • Юрий Зотов © (27.01.17 15:29) [15]
    > sniknik ©   (27.01.17 14:48) [14]

    Хех... так ту СУБД я тоже делал для дамы и тоже в рамках ее проекта (правда, дипломного).

    Шерше ля фам...
  • aka © (01.02.17 12:46) [16]
    Добавил на днях if...else

    Вот этот код моего интерпретатора выполняется в 150 раз медленнее аналогичного кода в D7, интересно - это нормально или медленно?    
    module m1;

    #console;

    var
     int i,n,k;

    main
     while(i < 100000000) {
       if (i > 5) { n = n + 1;}

       if (i > 50) { k = k + 1;}
       if (i > 500) { k = k - 1;}
       if (i > 5000) { k = k + 1;}
       i = i + 1;
     }

     println(n);
     println(k);
    end;

  • Dimka Maslov © (01.02.17 13:35) [17]

    > Вот этот код моего интерпретатора выполняется в 150 раз
    > медленнее аналогичного кода в D7, интересно - это нормально
    > или медленно?


    на днях заметил, что код на C++ (в частности интерпретатор своего ЯП) выполняется в 100 (сто) раз медленнее, будучи скомилированным в режиме Debug, нежели в режиме Release...
  • aka © (01.02.17 15:14) [18]
    Тестировала только что еще раз:

    D7 : 1
    Свой ЯП : 150
    PHP(c командной строки) : 300
  • Pavia © (01.02.17 15:44) [19]
    Говорят что VB 150 выдаёт.
 
Конференция "Прочее" » Свой ЯП
Есть новые Нет новых   [118456   +53][b:0][p:0.001]