forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Delphi (http://forum.boolean.name/forumdisplay.php?f=66)
-   -   Как написать свой компилятор!!! (http://forum.boolean.name/showthread.php?t=9229)

maxturbo 24.09.2009 09:55

Как написать свой компилятор!!!
 
Форумчани, всем привет :) Вот возник такой вопрос...
Допустим я хочу создать свою программу которая будет генерировать код и выводить это все в 3D окне...Чтото типа Blitz3D, как мне это сделать? я даже не знаю с чего начать, подскажите плиз... :)

cahekp 24.09.2009 11:08

Ответ: Как написать свой компилятор!!!
 
to maxturbo:
Для начала, скачай откуда-нибудь книгу по теории конечных автоматов. Вещь, конечно, не из самых простых, но, если освоишь, то сможешь без проблем (хотя как сказать :)) написать свой компилятор или, для начала, хотя бы интерпретатор.
А вообще: писать свой компилятор/интерпретатор - это очень интересная и, однако, трудная вещь! Знаю не по наслышке: сам год назад в универе интерпретатор писал. Сдал на 4-ку! ;)

cahekp 24.09.2009 11:13

Ответ: Как написать свой компилятор!!!
 
Еще могу посоветовать почитать тебе вот такую книжку:
"Компиляторы: принципы, технологии, инструменты", Альфред Ахо, Рави Сети, Джеффри Ульман.
Собственно, я по ней писал свой интерпретатор. Книжка довольно проста в освоении, а это самое главное. :)

impersonalis 24.09.2009 11:42

Ответ: Как написать свой компилятор!!!
 
http://forum.boolean.name/showthread.php?t=3571
Не читал, товарищ, FAQ-а?
По гляделу линком на-ка!

maxturbo 24.09.2009 12:09

Ответ: Как написать свой компилятор!!!
 
Ну я вообще на Delphi хочу его написать, это реально?

Knightmare 24.09.2009 12:14

Ответ: Как написать свой компилятор!!!
 
Можно и на бейсике. Ко всему прочему если уж писать реальный компилятор (не транслятор в асм или типа того) то вали на интел и ищи там описание архитектуры х86 (вроде бы 5 таких доков по 500 страниц), и кури до просветления (в частности приложения 2А и 2В, там непосредственно даны коды асм команд и форма их записи на машинном языке).

ffinder 24.09.2009 12:32

Ответ: Как написать свой компилятор!!!
 
вот еще "с чего начать" обсуждение
http://forum.boolean.name/showthread.php?t=7772
PS: интерпретатор и компилятор отличаются только последней стадией - кодогенерацией.

ViNT 24.09.2009 13:45

Ответ: Как написать свой компилятор!!!
 
Цитата:

Сообщение от ffinder (Сообщение 119605)
PS: интерпретатор и компилятор отличаются только последней стадией - кодогенерацией.

Разве? По-моему, интерпретатор может вообще кода не генерировать.

Tadeus 24.09.2009 13:59

Ответ: Как написать свой компилятор!!!
 
Эх, я свой на блице писал, дошёл до работы с текстом (вывод, очистка экрана и т.п.) и ожидания клавиши :-)

ffinder 24.09.2009 14:12

Ответ: Как написать свой компилятор!!!
 
Цитата:

Сообщение от ViNT (Сообщение 119618)
Разве? По-моему, интерпретатор может вообще кода не генерировать.

цитирую себя же:
3. кодогенерация
вход: АСТ
выход: либо машинный код, либо байт-код для виртуальной машины, либо список непосредственных вызовов = интерпретация.

NitE 24.09.2009 16:10

Ответ: Как написать свой компилятор!!!
 
без обид и приколов - в твоём случае абсолютно нереально (пока) написать компилятор, даже левый, который будет всё перегонять на другой язык.
главный показатель - возникновение такого вопроса.

maxturbo 24.09.2009 16:42

Ответ: Как написать свой компилятор!!!
 
Еще такой вопрос читал вот эту статью http://www.gamedev.ru/code/articles/?id=4229 и возник вопрос, а на чем он там писал? вот у меня допустим есть MicrosoftVisual Studio 2008 могу ли я на этой программе изучить этот пример? Да и еще для меня много чего непонятного есть, к примеру что такое lex и flex? пытался найти описание но все на буржуйском языке...Помогите разобраться во всем этом :) Я так понимаю компилятор это такая программка каторая будет гинерировать твой код, тоесть пишем программу которая будет считывать все дальнейшие функции твоего кода? если да, то потом как допустим этот компилятор применить к моему коду? тоесть надо будет както совмещать код программы с компилятором? если глупо описал то что я понял, то прошу не смеяться так как я с этим сталкиваюсь в первый раз :)

ffinder 24.09.2009 20:28

Ответ: Как написать свой компилятор!!!
 
каждая программа перерабатывает данные.
например: условия задачи -> программа -> решение.
компилятор это программа, которая делает вот такое:
текст программы -> компилятор -> машинный код, исполняемый процессором.

Вообще почитай о языке Forth. Это самый простой язык в мире. Есть статьи Андрея Черезова где он доходчиво всё объясняет.

WaReZ_MEN 27.09.2009 13:46

Ответ: Как написать свой компилятор!!!
 
maxturbo, скрипты есть и на дельфи наиболее простые у FastReorta называется FastScript.

maxturbo 27.09.2009 17:45

Ответ: Как написать свой компилятор!!!
 
Цитата:

Сообщение от WaReZ_MEN (Сообщение 119885)
maxturbo, скрипты есть и на дельфи наиболее простые у FastReorta называется FastScript.

Вот скачал FastScript 1.95 для Delphi 7 Вот теперь влпрос где взять кряк на него?


Часовой пояс GMT +4, время: 01:01.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot