создание языка програмирования

Discussion in 'Болталка' started by Qws, 6 Dec 2008.

  1. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Решил изучить регулярные выражения в пхп и чтобы это не казалось рутиной, делаю свой язык програмирования. Просто ради тренировки регулярных выражений.) потом про этот язык забуду) -маленькая идейка для тех кто учит пхп и не только и хочет создать свой язык.
     
    #21 Krist_ALL, 14 Jun 2009
    Last edited: 14 Jun 2009
  2. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    А нахрена регулярки при создании ЯП?
    все равно в БНФ писать )
     
  3. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Эмм... А если ОС всё понимает в АСМе, то как АСМ написали? :)
     
  4. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    http://ru.wikipedia.org/wiki/Язык_ассемблера
     
  5. Qws

    Qws Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    46
    Likes Received:
    57
    Reputations:
    5
    мб в двоичном коде?
     
  6. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Не,вы не поняли, я делаю например файл и в нем пишу say hello и передаю это пхп, он переделывает это в echo hello и все. Никакого асемблера. Двойная интерпретация) повторюсь, для забавы и для изучения регулярок и все.)
     
  7. VERte][

    VERte][ Elder - Старейшина

    Joined:
    17 May 2007
    Messages:
    240
    Likes Received:
    163
    Reputations:
    32
    Хм, свой язык, это конечно весело, но для начала поизучай грамматики (Хомский), работу лексических, синтаксических, семантических анализаторов (без этого свой компилятор будет наверно просто нереально написать, можешь поиграться с yacc и lex), ну а дальше, разработав структуру языка, можешь приступать к написанию компилятора, на основе анализаторов, переводящих код на твоём языке в код понимаемый машиной (асм например)
     
  8. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    ТС, тебе поможет книга известная как Красный дракон :)
     
  9. VERte][

    VERte][ Elder - Старейшина

    Joined:
    17 May 2007
    Messages:
    240
    Likes Received:
    163
    Reputations:
    32
    драконовский талмуд +100500 =)
     
  10. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    http://yacc.solotony.com/

    http://ru.wikipedia.org/wiki/Yacc
    http://ru.wikipedia.org/wiki/Lex
    http://ru.wikipedia.org/wiki/Форма Бэкуса — Наура

    И книга:

    http://www.williamspublishing.com/Books/sci_Compilers.html

    есть ещё 1 классная книга но название не помню


    З.Ы.
    Я оказывается в этой теме уже отписывался, см ссылки выше :)
     
    #30 Qwazar, 15 Jun 2009
    Last edited: 15 Jun 2009
  11. Neorin

    Neorin Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    48
    Likes Received:
    15
    Reputations:
    0
    хм...свой язык...брет..смысал? всеравно лучше не сделаешь....если на то пошло то лучше над компелятором подумай
    а Ось своя хм....помоему кто на прогр. учится все на 3 курсу курсовую на эту тему пишут
     
  12. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    А языки, некоторые разрабатывают в качестве магистерских дипломов ;)
     
  13. Neorin

    Neorin Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    48
    Likes Received:
    15
    Reputations:
    0
    хм...пока не хочу об этом думать)
     
  14. Qws

    Qws Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    46
    Likes Received:
    57
    Reputations:
    5
    Ооо,за это огромное спасибо ;)
     
  15. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Qws, советую ещё почитать о конечных автоматах, если хочешь проникнуться поглубже. Но проще заюзать yacc+lex или аналоги.

    Главное помнить, что написание парсера+лексера - лишь 1% от создания компилятора.

    Вот про автоматы:
    http://www.rsdn.ru/article/alg/statemachine.xml
    http://is.ifmo.ru/progeny/
    http://is.ifmo.ru/automata_school/

    З.Ы.
    Есть по автоматам одна хорошая книга, но название забыл.