|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/45893dc22e3c.html, оценка из 5, голосов 10
|