09 Апреля 2023
7

Что такое язык программирования? Не спешим отвечать, знакомимся с определением формальных языков

Что мы используем для записи языка? Верно буквы! Но мы воспользуемся более широким определением символ и под символом мы будем иметь в виду экземпляр из всего множества записей, такие как цифры, иероглифы и даже можем рассматривать отдельное служебное слово как символ, например int из языка C. Символ это некая неделимая запись изображения, звука и прочего.

Из набора конечного количества символов составляется алфавит и обозначают его заглавной греческой буквой Σ (сигма).

Примеры алфавитов:

Σ₁ = {0, 1}

Σ₂ = {а, б, в}

Σ₃ = {А, Б, В, …, Я, а, б, в, …, я, 0, 1, …, 9, +, -, пока, …, если}

Алфавит это множество и как принято в математике множество записывается в фигурных скобках. Алфавит Σ₁ имеет два символа, Σ₂ -три, Σ₃ - алфавит некоторого языка программирования которые использует служебные слова из русского языка.

Но ведь язык не заканчивается просто алфавитом? Для более точного понимания вводится понятие цепочки. Так же вы можете встретить понятие слово в других источниках, что в прочем будет тождественно цепочки, в данном контексте.

Цепочка над алфавитом Σ это произвольная конечная последовательность символов из Σ.

Цепочки обозначим греческими буквами. Примеры цепочек над алфавитом Σ₂:

α = аббва

β = аб

γ = ба

δ = в

Пустая цепочка — цепочка, не содержащая символов, ни одного символа. Обозначаем буквой ε.

Теперь воспользуемся нашей буквой Σ, но уже для обозначения множества цепочек.

Σ = {α, αγ, β, δ, δ⁴, ε}

Запись αγ обозначает склеивание (конкатенацию), добавление символов цепочки γ к символам цепочки α справа.

Степень в записи δ⁴ означает кол-во повторений символов цепочки δ, т. е δ⁴ = вввв.

Теперь мы можем дать определение формальному языку:

Формальным языком над алфавитом Σ называется произвольное множество цепочек, составленных из символов Σ.

Затем делаем запрос в поисковой системе находим определение языка программирования:

Язы́к программи́рования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.

Ну хоть с первым предложением разобрались. А дальше я пока всё, буду узнавать что такое порождающая грамматика Хомски (Чомски, Chomsky).

UPD:

Читать далее...

Показать полностью
2

Каракалпаки. Кто они такие?

Известный кыргызский ведущий, капитан команды КВН "Азия-микс" Эльдияр Кененсаров снял видео в рамках авторской программы "ОКАСЦА" о каракалпаках, жителях Республики Каракалпакстан, что в составе Узбекистана.

Законно ли требование о невозвратном товаре?

Товарищи, заказал на озоне чуть не тот корм котофею. Спохватился уже дома, а в карточке товара надпись о невозвратном товаре, техподдержка отказывается оформлять возврат.

Законно ли всё это и бьётся ли с правами потребителя? Что-нибудь вроде досудебки в таких случаях работает?

(Знаю, что сам дурак и всё такое)

31

Частный дом на несколько хозяев - сосед обрезал электричество

Тёща живёт в частном доме на несколько хозяев. Один из них решил построить свой отдельный дом на своём участке и обрезал ввод электричества в дом. На вопрос "какого х... всё остальные жители остались без электричества" ответ был прост - организуйте собственные вводы электричества на свои части дома, а пока кабель проходит через мой участок - делаю с ним что хочу.
Обращаюсь у силе Пикабу - чем можно урезонить такого соседа?

Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите