Это C. Просто автор предпочитал синтаксис ALGOL 68 😄
Это C. Просто автор предпочитал синтаксис ALGOL 68 😄 Стив Борн, создатель Bourne shell, использовал макросы, чтобы исходники оболочки выглядели привычнее: define IF if( define THEN ){ define ELSE } else { define FI ;} Теперь условие можно записать так: IF n <= 1 THEN return; FI Препроцессор превратит его в обычный C: if (n <= 1) { return; } Такие макросы действительно есть в исходниках Bourne shell из UNIX V7. На картинке тот же приём применяется к циклам: FOR, DO, OD. Любопытный кусочек истории: через define можно поменять внешний вид языка, сохранив прежний компилятор. А вот читать и отлаживать такой код придётся уже с учётом собственного «диалекта». https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h
Канал в каталоге MAXimeter
12 994 подписчиков · IT и технологии