![]() |
|
Модераторы: Се ля ви |
![]()
|
|
| Denis-delphist |
|
|||
|
Unregistered |
Мне очень хочется составить свой язык программирования!!! Как его создать??? Как создать под него компиляр(Например на DELPHI)???
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Ignis |
|
|||
![]() Искатель Профиль Группа: Участник Сообщений: 11 Регистрация: 2.5.2005 Где: Баку Репутация: нет Всего: нет |
Если просто хочется развлечься - это одно, если есть РЕАЛЬНАЯ потребность - это другое.
Я в 99 году сделал свой язык, до сих пор пользуюсь, и не только я. Кстати, описание языка зарегистрировано и охраняется авторским правом (на всякий случай...). |
|||
|
||||
| Lamak |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 8.5.2005 Где: Украина,Одесса Репутация: нет Всего: 7 |
Нарой где нибудь книгу
"Компиляторы(принципы,технологии,инструменты)"- Ахо,Ульман,Сети(типа авторы Она же книга Красный дракон. Почитай!Если не испугаешся --------------------
Роботы - это интересно и увлекательно! |
|||
|
||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
А зачем тебе это надо ??? Если не секрет конечно.
Если обоснуешь - МОЖЕТ БЫТЬ я тебе смогу быть полезным. -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
Ignis а можно ссылочку?
Denis-delphist вот хорошая книга для начала (ссылку дал dm9), я по ней делал курсовую - "компилятор Паскаля" |
|||
|
||||
| Ignis |
|
|||
![]() Искатель Профиль Группа: Участник Сообщений: 11 Регистрация: 2.5.2005 Где: Баку Репутация: нет Всего: нет |
Irokez
А какая проблема? На моем сайте все есть, на сайт можно по кнопочке выйти под сообщением, на ней WWW написано. Или через профиль. Кстати, твой сайт я посмотрел. |
|||
|
||||
| Rrader |
|
|||
|
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: нет Всего: 191 |
Вот тебе Inno Pascal v0.1.5 © 2000 by Jordan Russell с исходниками на Delphi. А вот ссылка по теме. |
|||
|
||||
| vzf |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: нет Всего: 5 |
Написать свой язык программирования можно при помощи YACC (или bison), но если хочешь что-то серьезное, то наверное сложновато будет.
1) Пишется грамматика языка (в терминах YACC) 2) Файл грамматики компилируется YACC'ом, получается ytab.c 3) Для ytab.c пишется yylex() - лексический анализатор, который анализирует входную информацию (например исходный текст программы). Он пишется вручную или при помощи LEX'a Ну это совсем в общих чертах. --------------------
Java - Write Once, Test EveryWhere! |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 9 Всего: 173 |
vzf
Помимо yacc/lex (они же bison/flex в ГНУтой реализации) есть масса других, имхо, более удобных средств для генерации синтаксических анализаторов. Взять хотя бы ANTLR. Но по мне так самый удобный инструмент для создания фронтэндов - это язык OCaml, а именно: ocamllex - для лексических анализаторов; ocamlyacc - для LALR(1) грамматик; CamlP4 и потоки - для LL(k) грамматик; Elkhound - генератор GLR-парсеров, может генерировать код на C++ и OCaml. (Сам, правда, не пробовал - не возникало необходимости парсить столь сложные грамматики). Ссылка в тему: Why ML/OCaml are good for writing compilers. Полностью согласен с этим мнением. Для задач синтаксического анализа и компиляции, код на OCaml гораздо короче и проще для понимания, чем на классических императивных ЯП. Ну и, наконец, создание своего языка не ограничивается фронтэндом. Генерация машинного кода (если это компилятор в нативный код) или создание собственного рантайма (если это интерпретатор) - не менее сложные задачи. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]()
|
| Правила раздела "Философия программирования": | |
|
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Философия программирования | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |