LINUX.ORG.RU

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

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

func main (argc int, argv ^^char, envp ^^char) int
{
  static stdin_nm ^char = 0;
  makefile_status int = MAKE_SUCCESS;
  goaldep ^struct read_files;
  restarts unsigned int = 0;
}

В редакторе это выглядело бы лучше, так как можно точно опеределить где обозначение типов и изменить цвет.
Во Free Pascal имя и тип разделены двоеточием, но в C двоеточие используется для обозначения длины в битах для элементов структур.
Вывод типов для литералов(immediate values) тоже элементарно реализуется.

somevar = "A string literal";

Здесь компилятору должно быть понятно что указывать тип не обязательно, он очевиден, не нужно никаких auto.

А их SCC какой-то бесполезный. Всё равно никто твоим компилятором ничего серьёзное не собирает, так можно исправить язык, с сохранением возможности автоматической трансляции исходных текстов из старого синтаксиса в новый.

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

Пример исправленного синтаксиса C

func main (argc int, argv ^^char, envp ^^char) int
{
  static stdin_nm ^char = 0;
  makefile_status int = MAKE_SUCCESS;
  goaldep ^struct read_files;
  restarts unsigned int = 0;
}

В редакторе это выглядело бы лучше, так как можно точно опеределить где обозначение типов и изменить цвет.
Во Free Pascal имя и тип разделены двоеточием, но в C двоеточие используется для обозначения длины в битах для элементов структур.
Вывод типов для литералов(immediate values) тоже элементарно реализуется.

somevar = "A string literal";

Здесь компилятору должно быть понятно что указывать тип не обязательно, он очевиден, не нужно никаких auto.

А их SCC какой-то бесполезный. Всё равно никто твоим компилятором ничего серьёзное не собирает, так можно исправить язык, с сохранением возможности трансляции исходных текстов из старого синтаксиса в новый.