Модераторы: Snowy, Poseidon

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Разработка компилятора языка C 
V
    Опции темы
Абабо
Дата 15.7.2009, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 14.1.2005

Репутация: 1
Всего: 1



TheVoid > есть интересные идеи по новому очищенному диалекту Си. Вот некоторые из них:
 - точные типы данных (соответственно поддержка только стандартных архитектур);
 - модульная структура, соответственно отказ от include (чтобы не париться с include guard, не пересканировать тонны заголовков для каждого исходника);
 - сложный (возможно lisp-подобный) препроцессор (но как органичная часть языка), позволяющий вызывать собственные функции (написанные на этом же языке) во время компиляции;
 - пресловутый контроль на выход за пределы массива (возможно, с возможностью отказа от него для финальной сборки);
 - некоторые дополнительные возможности (включая, инициализация массивов переменной длины (чего нету в в старом распространённом Си-стандарте), анонимная инициализация массивов и структур, ...);

Самому нет времени этим заниматься (я болею не компиляторами, а распределёнными средами / ОС), но с удовольствием бы принял участие в обсуждении. Пока вынужден работать с Си, за неимением лучшей альтернативы... вот высказываю пожелания... 

Короче, если тебя это заинтересует - пиши в личку или на мыло. В любом случае, желаю тебе удачи в твоих благих начинаниях.
--------------------
С уважением, Абабо.
PM MAIL   Вверх
beroal
Дата 15.7.2009, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 18.1.2003
Где: Украина

Репутация: 1
Всего: 3



Цитата(Абабо @ 15.7.2009,  14:00)
TheVoid > есть интересные идеи по новому очищенному диалекту Си

Чем отличается от Java или C#?

Это сообщение отредактировал(а) beroal - 15.7.2009, 23:19
PM WWW   Вверх
DEADHUNT
Дата 9.8.2009, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.11.2008

Репутация: нет
Всего: нет



разработка уже свернулась?
PM MAIL   Вверх
TheVoid
Дата 16.8.2009, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 18.6.2009

Репутация: нет
Всего: нет



Нет. В последнее время я был занят другими вещами (игрушку делал, давненько хотелось). В ближайшее время планирую вернуться.
PM   Вверх
DEADHUNT
Дата 17.8.2009, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.11.2008

Репутация: нет
Всего: нет



Цитата(TheVoid @  16.8.2009,  22:40 Найти цитируемый пост)
Нет. В последнее время я был занят другими вещами (игрушку делал, давненько хотелось). В ближайшее время планирую вернуться. 

интересно будет посмотреть как ты хотя бы препроцессор реализуешь.
PM MAIL   Вверх
Killerman
Дата 28.8.2009, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



А вы разрабатывали грамматики для С компилятора? Не в курсе где можно их посмотреть.  smile 

а лучше С++

Это сообщение отредактировал(а) Killerman - 28.8.2009, 18:46
PM MAIL   Вверх
DEADHUNT
Дата 30.8.2009, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.11.2008

Репутация: нет
Всего: нет



Цитата(Killerman @  28.8.2009,  18:37 Найти цитируемый пост)
А вы разрабатывали грамматики для С компилятора? Не в курсе где можно их посмотреть.  smile 

а лучше С++

а по его исходникам не видно?
если невидно тогда - нет.
PM MAIL   Вверх
Lazin
Дата 6.9.2009, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: нет
Всего: 154



почему, всех так тянет писать именно компиляторы, что в этом интересного? лучше-бы вы написали интерпретатор языка С++, что-бы можно было использовать REPL(Read Eval Print Loop) во время написания кода smile 
PM MAIL Skype GTalk   Вверх
DEADHUNT
Дата 6.9.2009, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.11.2008

Репутация: нет
Всего: нет



Цитата(Lazin @  6.9.2009,  13:34 Найти цитируемый пост)
почему, всех так тянет писать именно компиляторы, что в этом интересного? лучше-бы вы написали интерпретатор языка С++, что-бы можно было использовать REPL(Read Eval Print Loop) во время написания кода smile  

интересно чем это лучше?
PM MAIL   Вверх
Lazin
Дата 7.9.2009, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: нет
Всего: 154



Цитата(DEADHUNT @  6.9.2009,  23:03 Найти цитируемый пост)
интересно чем это лучше?

вам мало уже существующих компиляторов?
интерпретатор сильно упростил-бы мне жизнь, я готов мириться с медленной работой кода(во время отладки), но зато иметь возможность быстро что-нибудь изменить и сразу запустить программу, или менять код во время отладки
а еще, неплохо было-бы иметь отладчик времени компиляции, к примеру, для того, что-бы иметь возможность проверить, значение какого типа будет возвращать эта ф-я:
Код

template<int index, class Object>
typename boost::fusion::result_of::at_c<typenameObject::sequence_type, index>::type at_c(Object& s)
{
    return boost::fusion::at_c<index>(s.sequence_);
}
в том или ином месте

ну а потом можно собрать релиз версию нормальным компилятором smile 
вообще, такой интерпретатор уже существует(правда не помню, как он называется), но там очень плохая поддержка стандарта
PM MAIL Skype GTalk   Вверх
DEADHUNT
Дата 8.9.2009, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.11.2008

Репутация: нет
Всего: нет



Цитата(Lazin @  7.9.2009,  08:33 Найти цитируемый пост)
а еще, неплохо было-бы иметь отладчик времени компиляции, к примеру, для того, что-бы иметь возможность проверить, значение какого типа будет возвращать эта ф-я

для этого есть typeid
PM MAIL   Вверх
Lazin
Дата 8.9.2009, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: нет
Всего: 154



Цитата(DEADHUNT @  8.9.2009,  22:32 Найти цитируемый пост)
для этого есть typeid

ну вообще-то, typeid немного для другого... во всяком случае уж точно не для того, что-бы отлаживать вывод типов в шаблонах smile 
PM MAIL Skype GTalk   Вверх
Killerman
Дата 9.9.2009, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Вобщето меня интересовали грамматики а не сам компилятор, так как мне интересна организация отношений между элементами грамматик, чтобы вытащить оттуда чтото полезное для своих разработок.

А компилятор С++ я создавать не собираюсь, во всяком случае не для перевода на ассемблер и интерпритатор тоже, ну точно не для С++.

Добавлено через 5 минут и 36 секунд
2 DEADHUNT
И вообще не понимаю, как можно на основании исходников компилятора увидить его грамматику. Если его синтаксический анализатор строиться и работает на основе сгенерированных таблиц, помтроенных из грамматик генератором компиляторов. А из этих таблиц грамматику вытащить нереально.   
PM MAIL   Вверх
DEADHUNT
Дата 9.9.2009, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.11.2008

Репутация: нет
Всего: нет



Цитата(Killerman @  9.9.2009,  12:10 Найти цитируемый пост)
И вообще не понимаю, как можно на основании исходников компилятора увидить его грамматику. Если его синтаксический анализатор строиться и работает на основе сгенерированных таблиц, помтроенных из грамматик генератором компиляторов. А из этих таблиц грамматику вытащить нереально.    

различают типы разборов(основные):
    рекурсивный спуск или детерминированный алгоритм низходящего разбора (как в данном случае),
    детерминированный алгоритм восходящего разбора,
    LL(k) анализатор,
    LR(k), LALR(k) анализаторы(можно сгенерировать с помощью lex + yacc).
только последние два используют "управляющие таблицы" которые создаются на основе грамматики.
     

Это сообщение отредактировал(а) DEADHUNT - 9.9.2009, 15:05
PM MAIL   Вверх
Killerman
Дата 9.9.2009, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



ну для С++ нужны 2-ва последних.
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Совместные проекты/поиск партнёров"
Snowy
Poseidon

Внимание:
В этом форуме обсуждаются вопросы только по совместным проектам, когда Вы хотите найти партнёров или стать участником проекта.
Запрещается размещение заказов на написание программ, поиск работников (для этого есть раздел "Работа") и реклама своих сетевых ресурсов.

Этот раздел только для проектов в которых Вы будете выступать в качестве исполнителя!

Темы и сообщения, не удовлетворяющие данным правилам, будут удаляться на основании пункта 3 Правил форума!

  • Человек, создающий тему, становится руководителем проекта. Все вопросы о разработке решаются с его согласия.
  • Публикация предложения к сотрудничеству считается защищённым авторскими правами и не может разрабатываться без согласия с руководителем проекта.
  • Конечный продукт должен содержать указание на всех участников и Vingrad.

  • Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, Poseidon

     
    1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
    0 Пользователей:
    « Предыдущая тема | Совместные проекты/поиск партнёров | Следующая тема »


     




    [ Время генерации скрипта: 0.1023 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


    Реклама на сайте     Информационное спонсорство

     
    По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
    Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.