-
Сабж
-
Владимир Кладов?
-
Какого?
-
разработкой интрепретатора балуюсь. Для обработки игровых скриптов.
-
Дальше синтаксического анализа не заходил. Был проект---компилятор асемблера.
-
я, наверное, не ваш, но было дело :) для микросхем делали, когда-то.
-
> Alkid (10.06.08 17:31) [2]
> Какого?
Pascal подобного.
А что ты занимаешься разработкой нескольких? :)
-
Не баловался, но участвовал в ...
Ну и что же ? Все проходит. Пройдет и это :-)
-
> разработкой интрепретатора балуюсь. Для обработки игровых
> скриптов.
тогда тебе дорога в LUA.
-
> Mystic © (10.06.08 18:37) [4]
> Дальше синтаксического анализа не заходил. Был проект---
> компилятор асемблера.
Это было собственная реализация Lex и yacc? :)
-
разработкой интрепретатора баловался.
Сделал для языка типа javaScript, однако уже на java, зато с исходным текстом:
http://programania.com/jинтрепретатор прост и занимает около 500 строк
-
Качну source free pascal. Посмотрю.
-
> oxffff © (10.06.08 20:42) [11]
>
> Качну source free pascal. Посмотрю.
Качни книгу дракона лучше, если уже не скачал.
-
-
> [8] tesseract © (10.06.08 20:18)
> тогда тебе дорога в LUA.
Спасибо не надо.
-
> Спасибо не надо.
Зря, тысячи разработчков игр в течении 15 лет ошибаться не могут.
-
> [15] tesseract © (10.06.08 21:17)
Тысячи используют, тысячи не используют.
-
> Тысячи используют, тысячи не используют.
Baldur's Gate, GTA, Scrapland и тд - этот язык создан для GameDev. Зачем велосипед изобретать ?
-
> [17] tesseract © (10.06.08 21:44)
Source, SurMap и т.д. изобретают велосипед.
Зачем вообще что-то писать, все уже написано до нас.
-
> DVM © (10.06.08 20:59) [12]
>
> > oxffff © (10.06.08 20:42) [11]
> >
> > Качну source free pascal. Посмотрю.
>
> Качни книгу дракона лучше, если уже не скачал.
Скачал давно.
Купил и перечитываю бумажный вариант на работе в свободное время. :)
-
> DVM © (10.06.08 21:06) [13]
Уже даже нашел несколько опечаток. Хотя это может перевод такой русский.
-
> oxffff ©
Еще вот такое есть: "Пишем компилятор" Д.Креншоу. Там вроде даже на паскале компилятор ваяется в течение всей книги.
-
> DVM © (10.06.08 22:32) [21]
>
> > oxffff ©
>
> Еще вот такое есть: "Пишем компилятор" Д.Креншоу. Там вроде
> даже на паскале компилятор ваяется в течение всей книги.
>
Спасибо.
-
> Baldur's Gate, GTA, Scrapland и тд - этот язык создан для
> GameDev. Зачем велосипед изобретать ?
А где в GTA используется LUA?
-
> [23] modd (11.06.08 01:12)
Вроде начиная с SA перешли на Lua.
-
> Pascal подобного.
> А что ты занимаешься разработкой нескольких? :)
Сейчас нет, но вообще увлекался подобной тематикой. Восновном разные скиптовые интерпретаторы, один раз написал Java-подобный язык с комиляцией и байткод и вирт. машину для него. Недавно написал заготовочку небольшую для Пролог-подобного языка с Lisp-овским синтаксисом (он парсится проще :) ).
Все такие разработки вёл исключительно в плане хобби, на работе таких интересных задач не было никогда :(
-
> Все такие разработки вёл исключительно в плане хобби, на
> работе таких интересных задач не было никогда :(
У меня к сожалению увы тоже на работе такого не будет.
-
> У меня к сожалению увы тоже на работе такого не будет.
А с какой целью ты занимаешься подобными вещами?
Я сейчас размышляю над новым языком программирования и, возможно, буду делать некоторые прототипы. Но у меня цель не создать софт обладающий production quality, а самому понять некоторые вещи из области программирования. Т.е. цель - личное просветление.
-
на днях видел второе издание драконовской книги. интересно, что изменилось, кроме оформления.
цена ~1800 р. точно не помню, близко к 2k.
-
По поводу Ахо и Ульмана, мне больше нравится более старое издание (теория синтаксического анализа, перевода и компиляции). Там хоть все доказательства приведены :)
> Это было собственная реализация Lex и yacc? :)
Нет, это был проект с использованием LEX + YACC
-
> 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).
-
> Alkid (11.06.08 10:47) [27]
>
> > У меня к сожалению увы тоже на работе такого не будет.
>
>
> А с какой целью ты занимаешься подобными вещами?
> Я сейчас размышляю над новым языком программирования и,
> возможно, буду делать некоторые прототипы. Но у меня цель
> не создать софт обладающий production quality, а самому
> понять некоторые вещи из области программирования. Т.е.
> цель - личное просветление.
Сейчас исключительно для личного просветвления. :)
-
> Сейчас исключительно для личного просветвления. :)
Просветление по части компиляторов или языков программирования?
-
> Alkid (11.06.08 17:14) [32]
>
> > Сейчас исключительно для личного просветвления. :)
>
> Просветление по части компиляторов или языков программирования?
>
Просветвление в области существующих подходов к процессу компилирования и языкостроению для дальнейшего развития существующих идей и синтеза новых приминительно преимущественно к языку Pascal.
-
>[33] oxffff © (2008-06-11 22:24:00)
>Просветвление в области существующих подходов к процессу компилирования и
>языкостроению для дальнейшего развития существующих идей и синтеза новых
>приминительно преимущественно к языку Pascal.
omfb…
---
Understanding is not required. Only obedience.
-
> ketmar © (13.06.08 17:46) [34]
Не затруднит перевести?
-
>[35] oxffff © (2008-06-13 17:58:00)
>Не затруднит перевести?
вот именно это оно и значит. %-)
---
All Your Base Are Belong to Us
-
> ketmar © (13.06.08 18:14) [36]
Все предельно просто.
И средств для .net я бы выбрал Oxynege от Remobjects.
А поскольку переход на .NET у меня в планах нет.
И новых выразительных средств в Object Pascal не вводят.
Я действительно не вижу смысла усложнять себе жизнь отсутствием
синтаксического сахара.
То придется варить сахар самому.
-
>[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
-
> вполне достаточно (если хочется универсальности) расфигачить
> исходник на AST, и потом с AST развлекаться. а потом собрать
> назад и отдать компилятору.
Нечто подобное я и предполагаю.
Хотя подозреваю, что совсем скоро мне точно захочется капнуть поглубже.
Поэтому хочется прочуствовать весь процесс на собственной шкуре.
-
>[39] oxffff © (2008-06-14 16:52:00)
ну вот с AST и начни. потом заменишь backend на вывод не исходного кода, а кода для какой-нибудь VM — будет компилятор. потом на вывод IR, например, а по IR — оптимизациям, а потом — код VM. и будет оптимизирующий компилятор. потом из IR можно формировать SSA и пускать оптимизатор на нём — получится «продвинутый» оптимизирующий компилятор.
а потом ты огладишь рукой седую патриаршью бороду и скажешь: «будь проклят тот день, когда я сел за баранку этого [censored]…»
---
Understanding is not required. Only obedience.