ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



BNF и EBNF

Сообщений 1 страница 7 из 7

1

Лис написал(а):

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

Сложность языка программирования не должна зависеть от лингвистического языка,
который используется в коде этого языка программирования.
Языки программирования с точки зрения машины (ЭВМ)
различаются по объему БНФ,
в которую язык программирования должен однозначно представляться.

Где однозначный БНФ для Си? Нет!
Значит Си для машины есмь бред, а не ЯП.
Для человека-то любой ЯП как Божья роса.

0

2

язык программирования должен однозначно представляться

Языки бывают контекстно-свободные и контекстно-зависимые. BNF описывает только первые.
А вторые при помощи только BNF не  могут быть описаны (нужен ещё механизм для работы с контекстами).

Поэтому язык никому ничего не должен,

Отредактировано Лис (2023-03-24 07:15:32)

0

3

NuShaman написал(а):

Где однозначный БНФ для Си?

Например вот

0

4

Евгений написал(а):

Например вот

Ладно, спасибо, Евгений.
Шесть страниц не так уж и много.
Для оператора for забавно расписан синтаксис :)

0

5

Не "ладно, спасибо", а "Большое Спасибо". И вообще ты ему теперь мяса должен. Ну, там, или протестировать быстродействие двух вариантов виртуальной машины.

Отредактировано Лис (2023-03-24 09:33:23)

0

6

Лис написал(а):

Не "ладно, спасибо", а "Большое Спасибо".

На форуме действует зверский фильтр негласное правило
минимизации распространения материалов по вражеским технологиям
.
То есть материалами по вражеским технологиям можно делиться (и даже нужно),
но делать это стоит нЕхотя (и лучше под одеялом).
Поэтому не стоит сильно рукоплескать вражеским технологиям и материалам.

0

7

NuShaman написал(а):

Для оператора for забавно расписан синтаксис

В Си цикл for очень универсален. Из полной записи:

Код:
for ( i = 0; i < 10; i++) { ... }

может быть опущен любой член  выражения в скобочках, вплоть до:

Код:
for ( ;  ; ) { ... }

И это позволяет заменить циклом for циклы while и do...while при некоторой изобретательности.

Отредактировано Евгений (2023-03-24 11:47:01)

0