Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2008, 12:50   #1
Zefick
Пользователь
 
Регистрация: 27.05.2008
Сообщений: 14
Счастье Серьёзный вопрос о трансляторах

Такое дело: учусь в универе на программиста и в этом семестре есть такия дисциплина: "Теория языков программирования и методы трансляции". Семестр уже подходит к концу и назрело время выполнения чего-то типа курсовой работы по этой дисциплине. Работу я уже почти закончил, но во время её выполнения меня постоянно посещали мысли, что я что-то делаю нерационально, что-то можно оптимизировать. Короче вопрос такой: где можно найти информацию о современных методах трансляции. И хотелось бы узнать мнение опытных людей о различного рода интерпретаторах и трансляторах.
Вообще в материале, который читал нам преподаватель я разбираюсь хорошо, достаточно хорошо, чтобы понять, что далеко не всё, что он рассказывал используется в современных компиляторах, а есть что-то ещё. На лекциях рассказывалось сначала о лексическом, затем о синтаксическом и семантическом анализах и немного о генерации кода. Рассматривались восходящие и нисходящие синтаксические анализаторы. Я хочу узнать, какие из них использовались в компиляторах таких языков, как С++ или Java, как интенсивно используется рекурсивный спуск? И такой вопрос: как представляются грамматики этих языков? Если составлять для них LL(1), или LR(1) грамматики, то они займут не один десяток листов.
При рассмотрении семантического анализа были рассмотрены структуры семантических таблиц, но не было сказано, как их реализовать (преподаватель специально оговорил, что этот раздел не имеет отношения непосредственно к семантическому анализу). Поэтому хотелось бы узнать мнения о том, как их реализовывать. У меня они сделаны в виде списков записей, но при большом объёме входного кода такой подход может тормозить трансляцию. Ещё была идея использования хэш-таблиц, но это затратно и на малых объёмах кода занимает много памяти.
Слышал, что есть некая "Книга дракона", в которой рассмотрены вопросы компиляции, но книга эта старая и о том, чтобы её покупать я даже не думаю. Поэтому прошу ссылки на информацию в интернете. Хотеось бы сделать курсовик не так, чтобы потом о нём забыть, а чтобы из него можно было потом что-то лучшее получить.

Последний раз редактировалось Zefick; 19.12.2008 в 21:27.
Zefick вне форума Ответить с цитированием
Старый 19.12.2008, 21:26   #2
Zefick
Пользователь
 
Регистрация: 27.05.2008
Сообщений: 14
По умолчанию

Ну не ужели не найдётся ни одного умного человека, способного дать толковый совет, как подробнее рабобраться в том, о чём я написал?
Zefick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10
Вопрос по С# Roberto Помощь студентам 1 27.05.2008 22:12
Borland C++ не хочет видеть тип String? SERGOO Общие вопросы C/C++ 3 10.06.2007 12:37