|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разработка компиляторов. |
|
|
Разработка компиляторов.
|
редкий гость Сообщения: 1696 |
У меня чейчас в голове (и частично на диске) крутится идея сделать компилятор Visual Basic Script... В процессе написания сего компилера, у меня возникло всего три проблеммы:
|
|
------- Отправлено: 09:10, 31-01-2002 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать ivank
У нас в МФТИ, помнится, были дисциплины по реализации языков программирования. Из всей литературы, что советовалась, навскидку помню только книгу авторов Ахо и Ульман (название забыл) + еще труды наших препов. Если тебя интересует что-то менее академическое, могу поискать, но я так понял, у тебя проблемы с описанием грамматики языка для компилятора? По 3-му. Вообще-то серьезная книга по асму должна писать машинные коды для команд (они там даже ведь по длине внутри одной команды различаются). Вот у меня в Питере Абеле (в красном таком и в толстом) это все есть. |
------- Отправлено: 09:22, 31-01-2002 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать vasketsov
С грамматикой как раз проблем нет. Я свой клон Spirit написал, он не такой мощный, зато его MSVC компиляет. Проблеммы как раз с тем что во что компиляется. Особенно со stack unwinding -- у меня есть собственная, но очень кривая реализация... Цитата:
|
|
------- Отправлено: 10:41, 31-01-2002 | #3 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Для получения кодов по команде могу предложить такое действо. Компилишь бинарник, куда руками пишешь то, что надо. После этого открываешь его HEXEDIT'ом (если правильно помню), он там умеет команды и коды показывать.
|
------- Отправлено: 11:13, 31-01-2002 | #4 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать vasketsov
да, я с помощью hiew смотрю пока... Но это жутко неудобно (много комманд нужно ![]() |
|
------- Отправлено: 11:39, 31-01-2002 | #5 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Всем спасибо... Я нашёл решение проблеммы -- взял исходник другого (очень простого, и даже несоответствующего стандарту C) компилятора, и довольно таки немаленькую часть кодогенератора сейчас передираю к себе. Компилятор русский -- "Странник -- Модула-Си-Паскаль"... Сам компилятор ИМХО очень плох. Хотя он компактен и быстр. Но у него есть огромный недостаток -- стандарту C он не соответвует, а ни паскаля, ни Модулы я не знаю...
Добавлено: Хотелось бы добавить -- нашёл хороший ресурс о построении трансляторов -- "Компиляторы: принципы, методы и средства разработки" |
------- Отправлено: 19:16, 01-02-2002 | #6 |
Пользователь Сообщения: 11
|
Профиль | Отправить PM | Цитировать По поводу пункта 3.
А если сделать файл листинга программы? В TASM-е ключом /l делается и получается как раз в том виде как ты хочешь, правда я не уверен, что точно так-же делает NASM. |
Отправлено: 01:30, 04-03-2002 | #7 |
изверг Сообщения: 39
|
Профиль | Сайт | Отправить PM | Цитировать вот гемморой понапридумывали. в MSVC _asm command. потом в debug окне смотришь байтики (надо это в опция вклюцить - Sjow Code Bytes)
а построение комманд- далеко не линейное - зависит от того - используются регистры, память. какие операнды - скачай pdf с АМД на который я тебе давал ссылку - там все команды, в том числе и SSE расписаны - такты, последовательности байт, спариваемость и пр. |
------- Отправлено: 14:43, 04-03-2002 | #8 |
![]() Guest |
Подскажите пожалуста где можна скачать хорошый учебник по написанию транслятора?
|
Отправлено: 06:07, 08-10-2003 | #9 |
MikHaker
Сообщения: n/a |
Как можно сделать Компилятор
Добавлено: Как можно сделать Компилятор на Visual Basic 6.0 ![]() |
Отправлено: 19:54, 30-01-2004 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочие БД - Разработка СУБД | lxa85 | Программирование и базы данных | 1 | 18-11-2008 01:38 | |
Разработка ПО под UNIX | relates | Программирование в *nix | 0 | 13-08-2008 10:21 | |
Теория - Разработка сайтов | Morgan35 | Вебмастеру | 2 | 24-07-2008 01:54 | |
не совпадают версии компиляторов ядра и модуля | voitalex | Общий по Linux | 10 | 16-02-2004 07:35 | |
Разработка ПО | TEHb | Программирование и базы данных | 2 | 11-12-2002 14:32 |
|