|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.12.2008, 12:50 | #1 |
Пользователь
Регистрация: 27.05.2008
Сообщений: 14
|
Серьёзный вопрос о трансляторах
Такое дело: учусь в универе на программиста и в этом семестре есть такия дисциплина: "Теория языков программирования и методы трансляции". Семестр уже подходит к концу и назрело время выполнения чего-то типа курсовой работы по этой дисциплине. Работу я уже почти закончил, но во время её выполнения меня постоянно посещали мысли, что я что-то делаю нерационально, что-то можно оптимизировать. Короче вопрос такой: где можно найти информацию о современных методах трансляции. И хотелось бы узнать мнение опытных людей о различного рода интерпретаторах и трансляторах. Вообще в материале, который читал нам преподаватель я разбираюсь хорошо, достаточно хорошо, чтобы понять, что далеко не всё, что он рассказывал используется в современных компиляторах, а есть что-то ещё. На лекциях рассказывалось сначала о лексическом, затем о синтаксическом и семантическом анализах и немного о генерации кода. Рассматривались восходящие и нисходящие синтаксические анализаторы. Я хочу узнать, какие из них использовались в компиляторах таких языков, как С++ или Java, как интенсивно используется рекурсивный спуск? И такой вопрос: как представляются грамматики этих языков? Если составлять для них LL(1), или LR(1) грамматики, то они займут не один десяток листов. При рассмотрении семантического анализа были рассмотрены структуры семантических таблиц, но не было сказано, как их реализовать (преподаватель специально оговорил, что этот раздел не имеет отношения непосредственно к семантическому анализу). Поэтому хотелось бы узнать мнения о том, как их реализовывать. У меня они сделаны в виде списков записей, но при большом объёме входного кода такой подход может тормозить трансляцию. Ещё была идея использования хэш-таблиц, но это затратно и на малых объёмах кода занимает много памяти. Слышал, что есть некая "Книга дракона", в которой рассмотрены вопросы компиляции, но книга эта старая и о том, чтобы её покупать я даже не думаю. Поэтому прошу ссылки на информацию в интернете. Хотеось бы сделать курсовик не так, чтобы потом о нём забыть, а чтобы из него можно было потом что-то лучшее получить. Последний раз редактировалось Zefick; 19.12.2008 в 21:27. |
19.12.2008, 21:26 | #2 |
Пользователь
Регистрация: 27.05.2008
Сообщений: 14
|
Ну не ужели не найдётся ни одного умного человека, способного дать толковый совет, как подробнее рабобраться в том, о чём я написал?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #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 |