Модераторы: Се ля ви
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Свой язык программирования, как эго составить??? 
V
    Опции темы
Denis-delphist
Дата 24.4.2005, 15:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Мне очень хочется составить свой язык программирования!!! Как его создать??? Как создать под него компиляр(Например на DELPHI)??? smile smile smile
  Вверх
cardinal
Дата 24.4.2005, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99





--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ignis
Дата 4.5.2005, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Искатель



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 2.5.2005
Где: Баку

Репутация: нет
Всего: нет



Если просто хочется развлечься - это одно, если есть РЕАЛЬНАЯ потребность - это другое.
Я в 99 году сделал свой язык, до сих пор пользуюсь, и не только я. Кстати, описание языка зарегистрировано и охраняется авторским правом (на всякий случай...).

PM MAIL WWW Skype   Вверх
Lamak
Дата 7.6.2005, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: нет
Всего: 7



Нарой где нибудь книгу
"Компиляторы(принципы,технологии,инструменты)"- Ахо,Ульман,Сети(типа авторы smile )
Она же книга Красный дракон.
Почитай!Если не испугаешся smile ,то вперёд писать свой язык программирования.
--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
vadims
Дата 12.6.2005, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



А зачем тебе это надо ??? Если не секрет конечно.
Если обоснуешь - МОЖЕТ БЫТЬ я тебе смогу быть полезным.


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
Irokez
Дата 12.6.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: нет
Всего: 53



Ignis а можно ссылочку?

Denis-delphist вот хорошая книга для начала (ссылку дал dm9), я по ней делал курсовую - "компилятор Паскаля"
PM   Вверх
Ignis
Дата 14.7.2005, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Искатель



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 2.5.2005
Где: Баку

Репутация: нет
Всего: нет



Irokez
А какая проблема? На моем сайте все есть, на сайт можно по кнопочке выйти под сообщением, на ней WWW написано. Или через профиль.
Кстати, твой сайт я посмотрел.

PM MAIL WWW Skype   Вверх
Rrader
Дата 14.7.2005, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: нет
Всего: 191



Цитата

Как его создать??? Как создать под него компиляр(Например на DELPHI)???

Вот тебе Inno Pascal v0.1.5 © 2000 by Jordan Russell с исходниками на Delphi. А вот ссылка по теме. smile


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
vzf
Дата 16.9.2005, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 10.9.2005

Репутация: нет
Всего: 5



Написать свой язык программирования можно при помощи YACC (или bison), но если хочешь что-то серьезное, то наверное сложновато будет.
1) Пишется грамматика языка (в терминах YACC)
2) Файл грамматики компилируется YACC'ом, получается ytab.c
3) Для ytab.c пишется yylex() - лексический анализатор, который анализирует входную информацию (например исходный текст программы). Он пишется вручную или при помощи LEX'a

Ну это совсем в общих чертах.
--------------------
Java - Write Once, Test EveryWhere!
PM MAIL   Вверх
Void
Дата 17.9.2005, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λ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
PM MAIL WWW GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела "Философия программирования":
Се ля ви

Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО:

• вопросы перспективного развития методов написания ПО;

• изменяющиеся языки и методологии программирования;


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Философия программирования | Следующая тема »


 




[ Время генерации скрипта: 0.0581 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.