Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Vladimir Chizhov                     2:5030/1359.13 01 Nov 2002  11:19:03
 To : Nick Kovaliov
 Subject : компилятор
 -------------------------------------------------------------------------------- 
 
 Приветствую, Nick!
 
 Отвечаю на письмо, написанное тобой к Vladimir Chizhov:
 
  >> Есть у кого-нить исходники
  >> грамотно (!) написанного компилятора.
  NK> GNU C ;-)
 
 Логично... Сам не догадался.
 
  >> В общем интересует примерное соотношение
  >> объема работ по различным этапам
  NK> Что ты такое пишешь ? ...
 
 Курсовик =0)
 
  NK> Может, тебе проще YACC или BISON юзать ? ...
 
 Дык нет, мне хочется ручками, чтобы скилл рос.
 
  >> (лексический, синтаксический, семантический анализы,
  >> создание внутреннего представления программы,
  >> генерация ассемблерного кода).
  NK> Лексический, если хоть раз писал, пишется за час максимум.
 
 Hе писал. Hо сложность понятна.
 
  NK> Синтаксический, в общем, почти так же,
  NK> но данные для него подготавливать сложнее ...
  NK> Какой у тебя язык ? Грамматику написал ?
 
 Hу, в БHФ я язык описал. А вот грамматики пока нет.
 
  NK> Можно ли обойтись LL анализатором
  NK> (LL(1) анализатор пишется довольно просто),
  NK> или язык настолько сложный, что нужно LR ?
 
 Тут все строго, надо юзать грамматики слабого предшествования.
 
  NK> Сложность семантического анализа так же
  NK> сильно зависит от того, что тебе нужно написать ...
  NK> Опиши свою систему, и будем тогда
  NK> разговаривать не абстрактно, а по делу ...
 
 Короче нужен транслятор из языка в ассемблерный код. Язык - Java, но сильно
 упрощенная. То есть:
 типы - целый, вещественный, комплексный, матрица с комплексными элементами (все 
 встроенные).
 if - отсутствует, цикл - только с постусловием. Все стандартные операции языка
 плюс специфические для комплексных чисел и матриц. Перегрузка операций в общем
 не разрешается, но для встроенных типов перегружу, ибо хочется. Будут бычить,
 скажу в Яве тоже для стринга "+" перегружен =0)
 
 О! Кстати, не подскажешь заодно, что такое структурная и именная эквивалентность
 типов? В задании написано структурная, а я в грамматике описал просто аналогично
 Яве, не вникая.
 
  NK> Я бы начал сначала с формального описания,
  NK> оно тебе всё равно пригодится,
  NK> а уж потом думал, как и что будет проще ...
 
 Их есть у меня.
 
  NK> С внутренним представлением и генерацией асма
  NK> никаких сложностей возникнуть не должно,
  NK> если ты не собираешься оптимизировать.
 
 Hет уж. Без оптимизации хорошо. Я не бизон, чтоб за полтора месяца компилятор с 
 оптимизацией писать.
 
  >> Суть в том, что надо разделить процесс написания
  >> на двух человек (поровну =0).
  >> Если у кого-то есть опыт - поделитесь, п-ста.
  NK> Сделай сначала описание, хорошо представь,
  NK> ЧТО ты собираешься делать.
  NK> И выясни, можно ли задачу решить другими,
  NK> более простыми способами.
 
 Взяткой преподу? =0)
 
 До встречи!
 
 ... The rest is silence.         (c) W. Shakespeare
 ---
  * Origin: The very end of letter (2:5030/1359.13)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 компилятор   Vladimir Chizhov   26 Oct 2002 14:03:49 
 Re: компилятор   Nick Kovaliov   30 Oct 2002 12:39:57 
 компилятор   Vladimir Chizhov   01 Nov 2002 11:19:03 
 Re: компилятор   Nick Kovaliov   04 Nov 2002 10:47:28 
 Re: компилятор   Alex Kozhushko   04 Nov 2002 12:11:03 
 Re: компилятор   Nick Kovaliov   04 Nov 2002 12:34:06 
 Re: компилятор   Alex Kozhushko   04 Nov 2002 19:14:09 
 компилятор   Vladimir Chizhov   09 Nov 2002 04:01:12 
 Re: компилятоp   Andrew Barbolin   12 Nov 2002 02:14:35 
 компилятор   Vladimir Chizhov   09 Nov 2002 03:45:32 
 Re: компилятор   Nick Kovaliov   10 Nov 2002 11:22:56 
 компилятор   Vladimir Chizhov   11 Nov 2002 11:20:12 
Архивное /ru.algorithms/45893dc22e3c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional