Форум: "Прочее";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
ВнизСреди наших кто-нибудь балуется разработкой компилятора? Найти похожие ветки
← →
oxffff © (2008-06-10 17:12) [0]Сабж
← →
Ricko © (2008-06-10 17:25) [1]Владимир Кладов?
← →
Alkid (2008-06-10 17:31) [2]Какого?
← →
@!!ex © (2008-06-10 17:35) [3]разработкой интрепретатора балуюсь. Для обработки игровых скриптов.
← →
Mystic © (2008-06-10 18:37) [4]Дальше синтаксического анализа не заходил. Был проект---компилятор асемблера.
← →
grisme (2008-06-10 18:38) [5]я, наверное, не ваш, но было дело :) для микросхем делали, когда-то.
← →
oxffff © (2008-06-10 20:00) [6]
> Alkid (10.06.08 17:31) [2]
> Какого?
Pascal подобного.
А что ты занимаешься разработкой нескольких? :)
← →
blackman © (2008-06-10 20:14) [7]Не баловался, но участвовал в ...
Ну и что же ? Все проходит. Пройдет и это :-)
← →
tesseract © (2008-06-10 20:18) [8]
> разработкой интрепретатора балуюсь. Для обработки игровых
> скриптов.
тогда тебе дорога в LUA.
← →
oxffff © (2008-06-10 20:22) [9]
> Mystic © (10.06.08 18:37) [4]
> Дальше синтаксического анализа не заходил. Был проект---
> компилятор асемблера.
Это было собственная реализация Lex и yacc? :)
← →
programania (2008-06-10 20:30) [10]разработкой интрепретатора баловался.
Сделал для языка типа javaScript, однако уже на java, зато с исходным текстом:
http://programania.com/j
интрепретатор прост и занимает около 500 строк
← →
oxffff © (2008-06-10 20:42) [11]Качну source free pascal. Посмотрю.
← →
DVM © (2008-06-10 20:59) [12]
> oxffff © (10.06.08 20:42) [11]
>
> Качну source free pascal. Посмотрю.
Качни книгу дракона лучше, если уже не скачал.
← →
DVM © (2008-06-10 21:06) [13]
> oxffff © (10.06.08 20:42) [11]
Название: Компиляторы. Принципы, технологии, инструменты
Автор: Альфред Ахо, Рави Сети, Джеффри Ульман
Издательство: Вильямс
Год: 2003
Страниц: 768
Формат: djvu
Размер: 5925 KB
ISBN: 5-8459-0189-8, 0-201-10088-6
http://www.infanata.org/computers/prog/1146096903-kompiljatory.-principy-tekhnologii.html
← →
@!!ex © (2008-06-10 21:14) [14]> [8] tesseract © (10.06.08 20:18)
> тогда тебе дорога в LUA.
Спасибо не надо.
← →
tesseract © (2008-06-10 21:17) [15]
> Спасибо не надо.
Зря, тысячи разработчков игр в течении 15 лет ошибаться не могут.
← →
@!!ex © (2008-06-10 21:22) [16]> [15] tesseract © (10.06.08 21:17)
Тысячи используют, тысячи не используют.
← →
tesseract © (2008-06-10 21:44) [17]
> Тысячи используют, тысячи не используют.
Baldur"s Gate, GTA, Scrapland и тд - этот язык создан для GameDev. Зачем велосипед изобретать ?
← →
@!!ex © (2008-06-10 21:54) [18]> [17] tesseract © (10.06.08 21:44)
Source, SurMap и т.д. изобретают велосипед.
Зачем вообще что-то писать, все уже написано до нас.
← →
oxffff © (2008-06-10 22:05) [19]
> DVM © (10.06.08 20:59) [12]
>
> > oxffff © (10.06.08 20:42) [11]
> >
> > Качну source free pascal. Посмотрю.
>
> Качни книгу дракона лучше, если уже не скачал.
Скачал давно.
Купил и перечитываю бумажный вариант на работе в свободное время. :)
← →
oxffff © (2008-06-10 22:09) [20]
> DVM © (10.06.08 21:06) [13]
Уже даже нашел несколько опечаток. Хотя это может перевод такой русский.
← →
DVM © (2008-06-10 22:32) [21]
> oxffff ©
Еще вот такое есть: "Пишем компилятор" Д.Креншоу. Там вроде даже на паскале компилятор ваяется в течение всей книги.
← →
oxffff © (2008-06-10 22:59) [22]
> DVM © (10.06.08 22:32) [21]
>
> > oxffff ©
>
> Еще вот такое есть: "Пишем компилятор" Д.Креншоу. Там вроде
> даже на паскале компилятор ваяется в течение всей книги.
>
Спасибо.
← →
modd (2008-06-11 01:12) [23]
> Baldur"s Gate, GTA, Scrapland и тд - этот язык создан для
> GameDev. Зачем велосипед изобретать ?
А где в GTA используется LUA?
← →
@!!ex © (2008-06-11 07:49) [24]> [23] modd (11.06.08 01:12)
Вроде начиная с SA перешли на Lua.
← →
Alkid (2008-06-11 10:07) [25]
> Pascal подобного.
> А что ты занимаешься разработкой нескольких? :)
Сейчас нет, но вообще увлекался подобной тематикой. Восновном разные скиптовые интерпретаторы, один раз написал Java-подобный язык с комиляцией и байткод и вирт. машину для него. Недавно написал заготовочку небольшую для Пролог-подобного языка с Lisp-овским синтаксисом (он парсится проще :) ).
Все такие разработки вёл исключительно в плане хобби, на работе таких интересных задач не было никогда :(
← →
oxffff © (2008-06-11 10:32) [26]
> Все такие разработки вёл исключительно в плане хобби, на
> работе таких интересных задач не было никогда :(
У меня к сожалению увы тоже на работе такого не будет.
← →
Alkid (2008-06-11 10:47) [27]
> У меня к сожалению увы тоже на работе такого не будет.
А с какой целью ты занимаешься подобными вещами?
Я сейчас размышляю над новым языком программирования и, возможно, буду делать некоторые прототипы. Но у меня цель не создать софт обладающий production quality, а самому понять некоторые вещи из области программирования. Т.е. цель - личное просветление.
← →
grisme (2008-06-11 11:46) [28]на днях видел второе издание драконовской книги. интересно, что изменилось, кроме оформления.
цена ~1800 р. точно не помню, близко к 2k.
← →
Mystic © (2008-06-11 11:55) [29]По поводу Ахо и Ульмана, мне больше нравится более старое издание (теория синтаксического анализа, перевода и компиляции). Там хоть все доказательства приведены :)
> Это было собственная реализация Lex и yacc? :)
Нет, это был проект с использованием LEX + YACC
← →
oxffff © (2008-06-11 12:15) [30]
> Mystic © (11.06.08 11:55) [29]
Я уже удостоверился своими глазами. Издание 2003.
Перечитал около 10 раз раздел о преобразовании рег.выр. напрямую в ДКА. А именно 2 правила для выяснения followpos.
И реально написано неправильно стр 147.
Зашел на citforum вот там правильный вариант.
1. Пусть n - внутренний узел с операцией . (конкатенация), u и v - его потомки. Тогда для каждой позиции i, входящей в lastpos(u), добавляем к множеству значений followpos(i) множество firstpos(v).
2. Пусть n - внутренний узел с операцией * (итерация), u - его потомок. Тогда для каждой позиции i, входящей в lastpos(u), добавляем к множеству значений followpos(i) множество firstpos(u).
← →
oxffff © (2008-06-11 12:20) [31]
> Alkid (11.06.08 10:47) [27]
>
> > У меня к сожалению увы тоже на работе такого не будет.
>
>
> А с какой целью ты занимаешься подобными вещами?
> Я сейчас размышляю над новым языком программирования и,
> возможно, буду делать некоторые прототипы. Но у меня цель
> не создать софт обладающий production quality, а самому
> понять некоторые вещи из области программирования. Т.е.
> цель - личное просветление.
Сейчас исключительно для личного просветвления. :)
← →
Alkid (2008-06-11 17:14) [32]
> Сейчас исключительно для личного просветвления. :)
Просветление по части компиляторов или языков программирования?
← →
oxffff © (2008-06-11 22:24) [33]
> Alkid (11.06.08 17:14) [32]
>
> > Сейчас исключительно для личного просветвления. :)
>
> Просветление по части компиляторов или языков программирования?
>
Просветвление в области существующих подходов к процессу компилирования и языкостроению для дальнейшего развития существующих идей и синтеза новых приминительно преимущественно к языку Pascal.
← →
ketmar © (2008-06-13 17:46) [34]>[33] oxffff © (2008-06-11 22:24:00)
>Просветвление в области существующих подходов к процессу компилирования и
>языкостроению для дальнейшего развития существующих идей и синтеза новых
>приминительно преимущественно к языку Pascal.
omfb…
---
Understanding is not required. Only obedience.
← →
oxffff © (2008-06-13 17:58) [35]
> ketmar © (13.06.08 17:46) [34]
Не затруднит перевести?
← →
ketmar © (2008-06-13 18:14) [36]>[35] oxffff © (2008-06-13 17:58:00)
>Не затруднит перевести?
вот именно это оно и значит. %-)
---
All Your Base Are Belong to Us
← →
oxffff © (2008-06-13 18:26) [37]
> ketmar © (13.06.08 18:14) [36]
Все предельно просто.
И средств для .net я бы выбрал Oxynege от Remobjects.
А поскольку переход на .NET у меня в планах нет.
И новых выразительных средств в Object Pascal не вводят.
Я действительно не вижу смысла усложнять себе жизнь отсутствием
синтаксического сахара.
То придется варить сахар самому.
← →
ketmar © (2008-06-14 16:43) [38]>[37] oxffff © (2008-06-13 18:26:00)
>Я действительно не вижу смысла усложнять себе жизнь отсутствием
>синтаксического сахара.
>То придется варить сахар самому.
а зачем для этого компилятор? O_O
вполне достаточно (если хочется универсальности) расфигачить исходник на AST, и потом с AST развлекаться. а потом собрать назад и отдать компилятору.
в качестве инструмента взять тот же LISP, например. парзер пишется руками за пол-дня, а дальше уже пинаешь лисповые списки. делов…
я вот на Lua писал парзер Object Pascal. точнее, парзер констант, структур и определений функций. нужно было для генерации модулей импорта на той же Lua. ничего, windows.pas распарзило. собственно, туда дописать ещё чуть-чуть кода — и готовый генератор AST.
---
All Your Base Are Belong to Us
← →
oxffff © (2008-06-14 16:52) [39]
> вполне достаточно (если хочется универсальности) расфигачить
> исходник на AST, и потом с AST развлекаться. а потом собрать
> назад и отдать компилятору.
Нечто подобное я и предполагаю.
Хотя подозреваю, что совсем скоро мне точно захочется капнуть поглубже.
Поэтому хочется прочуствовать весь процесс на собственной шкуре.
← →
ketmar © (2008-06-14 17:06) [40]>[39] oxffff © (2008-06-14 16:52:00)
ну вот с AST и начни. потом заменишь backend на вывод не исходного кода, а кода для какой-нибудь VM — будет компилятор. потом на вывод IR, например, а по IR — оптимизациям, а потом — код VM. и будет оптимизирующий компилятор. потом из IR можно формировать SSA и пускать оптимизатор на нём — получится «продвинутый» оптимизирующий компилятор.
а потом ты огладишь рукой седую патриаршью бороду и скажешь: «будь проклят тот день, когда я сел за баранку этого [censored]…»
---
Understanding is not required. Only obedience.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.008 c