LINUX.ORG.RU

История изменений

Исправление kostyarin_, (текущая версия) :

Я бы всё же предпочёл использовать обычные исходники на Си, директорий с ними, и отдельно файлы с мета информацией для отображения. С тем, что не входит в рамки обычного Си. Типа

typedef struct mp_typ {
    int number;
} mp_styp;

int
mp_typ_inc_number (mp_typ *t) {
    t->number++;
    return t->number;
}

И отдельно, мета информация без привязки к номеру строки, но с привязкой к имени

struct mp_typ {
   // мета информация о struct mp_typ
}

mp_typ -> struct mp_typ; // просто референс

mp_typ_inc_number {
   // мета информация о функции mp_typ_inc_number
}

Таким образом любой проект на Си будет готовым проектом на Метапроге, просто без плюх. Имена на мове, там и прочее. И любой проект или заголовки можно так же легко импортировать. То что нету привязки к номеру строки позволит редактировать исходники. Текстовый формат мета-данных позволит легко просмотреть их. Так же это совместимо со всеми VCS. И ещё можно делиться мета-данными или использовать старые мета-данные для новых проектов с небольшими изменениями. Например, если я импортирую заголовки libsome1. Пишу для них мета данные. А потом перехожу на libsome2. Скорее всего часть типов и функций там будут называться так же, и мне нужно будет только исправить отличия между этими двумя версиями.

Исходная версия kostyarin_, :

Я бы всё же предпочёл использовать обычные исходники на Си, директорий с ними, и отдельно файлы с мета информацией для отображения. С тем, что не входит в рамки обычного Си. Типа

typedef struct mp_typ {
    int number;
} mp_styp;

int
mp_typ_inc_number (mp_typ *t) {
    t->number++;
    return t->number;
}

И отдельно, мета информация без привязки к номеру строки, но с привязкой к имени

struct mp_typ {
   // мета информация о struct mp_typ
}

mp_typ -> struct mp_typ; // просто референс

mp_typ_inc_number {
   // мета информация о функции mp_typ_inc_number
}

Таким образом любой проект на Си будет готовым проектом на Метапроге, просто без плюх. Имена на мове, там и прочее. И любой проект или заголовки можно так же легко импортировать. То что нету привязки к номеру строки позволит редактировать исходники. Текстовый формат мета-данных позволит легко просмотреть их. Так же это совместимо со всеми VSC. И ещё можно делиться мета-данными или использовать старые мета-данные для новых проектов с небольшими изменениями. Например, если я импортирую заголовки libsome1. Пишу для них мета данные. А потом перехожу на libsome2. Скорее всего часть типов и функций там будут называться так же, и мне нужно будет только исправить отличия между этими двумя версиями.