Нотация языка программирования это

Основы структуры программ

Нотация , определяющая синтаксис и семантику программ, называется языком программирования. Существует множество языков программирования, служащих различным целям. Язык, использованный в этом курсе, называется Eiffel (Эйфель).

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

  • Общая организация текста в виде последовательности слов, состоящих из символов. Точка есть точка, как в Eiffel , так и в английском и в русском языках.
  • И в естественных, и в искусственных языках синтаксис языка, определяющий структуру текста, отличается от семантики, определяющей смысл.
  • Доступны слова с предопределенным смыслом, такие, как «the» в английском и «do» в Eiffel . Наряду с этим есть возможность определять собственные слова, как это делал Льюис Кэролл в «Алисе в Зазеркалье»: «Варкалось. Хливкие шорьки пырялись по наве…», так же, как это делали мы, назвав наш первый класс PREVIEW именем, не имеющим специального смысла в Eiffel .
  • java

Вполне возможно назвать класс именем «Шорек», а его метод – «Варкалось». Правда, такие имена идут вразрез с правилами стиля.

Создание имен – это общая, без конца возникающая необходимость в языках программирования. В естественных языках вам не приходится изобретать новые слова, если только вы не поэт, не ребенок и не ботаник, специализирующийся на флоре бассейна Амазонки. Программист, внешне выглядящий вполне взрослым и не имеющий никакого отношения к цветкам из Амазонки, может в течение дня придумать несколько десятков новых имен.

  • Eiffel усиливает аромат естественного языка, преобразуя слова английского языка в свои ключевые слова. Каждое ключевое слово Eiffel является одним общеиспользуемым словом английского языка.

Некоторые языки программирования предпочитают использовать аббревиатуры, такие как int вместо INTEGER. Мы предпочитаем для ясности использовать полные слова. Единственным исключением является термин elseif , составленный из двух слов.

  • Рекомендуется всюду, где это возможно, использовать слова из английского или родного языка с содержательным смыслом для определяемых вами имен, как это делали мы в построенных до сего момента примерах: PREVIEW, display, или Route1.
Читайте также:  Криминологическое планирование криминологическое программирование

Схожесть языков программирования и естественных языков полезна, поскольку способствует пониманию программ. Но не стоит заблуждаться – языки программирования отличаются от естественных языков. Они являются искусственными нотациями, спроектированными для решения специфических задач. В этом их сила и слабость.

  • Выразительная сила языков программирования неизмеримо мала в сравнении с любым естественным языком даже на уровне ребенка четырех лет. Языки программирования не позволяют выражать чувства или мысли. Они лишь могут позволить определить объекты, представимые в компьютере, и задачи, выполнимые над этими объектами.
  • Проигрывая в выразительности, языки программирования выигрывают в точности. Текст на естественном языке грешит двусмысленностями и открыт для множества интерпретаций , что придает ему некоторое обаяние. Когда же мы общаемся с компьютером, задавая программу действий, нельзя позволить себе приблизительности, мы ожидаем строго определенных результатов. Синтаксис и семантика языка программирования должны быть определены совершенно строго.

Естественные языки в ваших программах

Естественному языку отводится важная роль в программах: в комментариях. Мы уже говорили, что любой программный текст, начинающийся с двух тире «—» и вплоть до конца строки, является комментарием. В отличие от остального программного текста, комментарии не следуют точным правилам синтаксиса, поскольку они не участвуют в выполнении программы и, следовательно, не имеют семантики. Комментарии объясняют программу, помогая людям лучше понять ее смысл.

Естественные языки служат основой построения идентификаторов, в частности, имен классов и методов. Методологический совет: используйте полные, содержательные имена, такие как METRO_LINE для имени класса. Аббревиатуры следует применять только в тех случаях, если они используются в естественном языке.

Называя наши нотации «языками», мы оказываем им не вполне заслуженную честь – они скорее представляют расширенную версию математической нотации, используемой для записи формул.

Термин «код», означающий текст в языке программирования, отражает этот факт. Он используется в выражении «Строка кода», как в тексте «Windows Vista содержит более 50 миллионов строк кода». Мы иногда называем процесс программирования кодированием, подчеркивая этим немного уничижительным термином, что речь идет о процессе низкого уровня, исключающего проблемы проектирования, как, например, в данной фразе: «Они думают, что все идеи уже высказаны, и все, что остается, – это простое кодирование». «Кодировщик» – уничижительное название программиста.

И все же, языки программирования имеют собственную красоту, которую, я надеюсь, вы сумеете ощутить в процессе обучения. Если вы начнете думать о ваших отношениях с любимой в терминах relationship.is_durable ( отношение .является_прочным) или пошлете родителям SMS : Me.account.wire (month.allowance + (month+1).allowance + 1500, Immediately) (Мне.счет. телеграфируй (месяц.карманные_расходы + (месяц +1).карманные_расходы + 1500, срочно), то это значит:

3.4. Грамматика, категории, образцы

Для описания синтаксиса естественного языка – структуры текстов – лингвисты задают грамматику языка. Для простого предложения типичная грамматика скажет нам, что это частный случай (мы говорим «образец») некоторой «категории», называемой в грамматике: «Простое_глагольное_предложение». Предложение состоит из трех компонентов, каждый из которых является образцом некоторой категории:

  • субъект действия: Анна, образец категории «Существительное»;
  • действие, описываемое в предложении: звонит – образец категории «Глагол»;
  • объект действия: друзьям – еще один образец «Существительного».

Ровно эти же концепции будут применяться для описания синтаксиса языков программирования. Например:

  • категорией в грамматике Eiffel является Class, описывающий все программные тексты классов, которые кто-либо может написать;
  • частные случаи текста классов, как класс PREVIEW или класс TOURISM, являются образцами категории Class.

В лекции 11 мы в деталях опишем синтаксис языка. Сейчас же достаточно ограничиться определением.

Определения: грамматика, категория, образец

Грамматика языка программирования – это описание его синтаксиса.

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

Образец категории – это синтаксический элемент.

Отметим соотношение между категорией и образцом. Категория задает тип синтаксического элемента, образец является экземпляром этого типа. Так:

  • в обычной грамматике мы можем иметь грамматические категории существительного и глагола. «Анна» является образцом существительного, «звонит» – образец глагола;
  • в грамматике Eiffel мы можем иметь категории: Class и Feature . Любой текст класса является образцом категории Class, текст метода является образцом категории Feature .

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

3.5. Вложенность и структура синтаксиса

Синтаксическая структура программного текста допускает несколько уровней образцов. Класс является образцом, это же верно и для части класса – оператора, и для имени метода. Языки программирования поддерживают возможность встраивания одних образцов в другие, технический термин – вложенность (nesting). Например, класс может содержать несколько методов, методы могут содержать операторы , те, в свою очередь , содержат выражения. Вот пример вложенной структуры образцов для ранее приведенного класса. Для простоты оставлены только два оператора и класс назван PREVIEW1, чтобы отличать его от полной версии:

Встроенные прямоугольники подсвечивают вложенные образцы. Самый внешний прямоугольник задает объявление класса, содержащее наряду с другими образцами объявление метода, частью которого является тело метода , содержащее два оператора, и так далее.

Пример синтаксической структуры

Некоторые элементы синтаксиса, такие как точка и ключевые слова class, do, end, играют роль разделителей и сами по себе не несут семантического смысла. Мы не рассматриваем их как образцы.

Убедитесь, что вы понимаете представленную здесь синтаксическую структуру.

Источник

Категория:Нотации

Нотация — система условных обозначений, принятая в какой-либо области знаний или деятельности. Включает множество символов, используемых для представления понятий и их взаимоотношений, составляющее алфавит нотации, а также правила их применения.

Нотация используется для отображения моделей в рабочих продуктах (документах).

Для отражения одного или нескольких видов модели в каком-то виде документов используются нотации, поддерживающие (supports) тот язык, который использует (uses) тот или иной вид моделей. Один язык может быть использован множеством видов моделей, а вид модели использует только один язык.

Письменные нотации

Типы письменности человеческих языков:

  • Пиктографический — письменный знак привязан к определенному объекту.
  • Идеографический — письменный знак привязан к определённому смыслу.
  • Фоноидеографический — письменный знак привязан и к смыслу, и к звучанию
    • Логографический — письменный знак обозначает определённое слово
    • Морфемный — письменный знак обозначает определённую морфему (см. «Китайская письменность»)

    Нотации в программировании

    • Форма Бэкуса — Наура (сокр. БНФ, Бэкуса — Наура форма) — формальная система описания синтаксиса, в которой одни синтаксические категории последовательно определяются через другие категории. БНФ используется для описания контекстно-свободных формальных грамматик. Существует расширенная форма Бэкуса — Наура (РБНФ), отличающаяся лишь более ёмкими конструкциями.
    • Венгерская нотация — соглашение об именовании переменных, констант и прочих идентификаторов в коде программ. Суть венгерской нотации сводится к тому, что имена идентификаторов предваряются заранее оговорёнными префиксами, состоящими из одного или нескольких символов. При этом, как правило, ни само наличие префиксов, ни их написание не являются требованием языков программирования, и у каждого программиста (или коллектива программистов) они могут быть своими.
    • Математические языки разметки нотации для представления математических формул:
      • TeX/LaTeX
      • MathML

      Нотации в управлении

      Нотации в математике

      • Нотации для представления различных математических идей
        • Нотации в теории вероятностей
        • Прямоугольная система координат
        • Нотации для дифференциального исчисления
        • «O» большое — математическое обозначение для сравнения асимптотического поведения функций. Применяется, например, для определения вычислительной сложности алгоритма.
        • Z-нотация — формальный язык спецификации, используемый для описания и моделирования программ и их формальной верификации.
        • Порядковая индексация
        • Форма записи числовых множеств
        • Нотация Конвея
        • Стрелочная нотация Кнута
        • Нотация Штейнгауза — Мозера
        • по способу изображения чисел системы
          • Позиционные
          • Непозиционные
          • Смешанные
          • двоичная
          • десятичная
          • восьмеричная
          • шестнадцатеричная
          • двоично-десятичная
          • естественная форма (форма с фиксированной запятой)
          • нормальная форма (форма с плавающей запятой)
          • Инфиксная нотация
          • Польская нотация
          • Обратная польская нотация

          Нотации в физике

          • Для обозначения физических величин и понятий в физике используются буквы латинского и греческого алфавитов, а также несколько специальных символов и диакритических знаков. Поскольку количество физических величин больше количества букв в латинском и греческом алфавитах, одни и те же буквы используются для обозначения различных величин. Для некоторых физических величин принято несколько обозначений (например для энергии, скорости, длины и других), чтобы предотвратить путаницу с другими величинами в данном разделе физики.
          • Диакритические знаки добавляются к символу физической величины для обозначения определённых различий (производная, векторная величина, средне значение, оператор и др.).
          • Бра и кет (англ. bra-ket < bracket скобка) — алгебраический формализм, предназначенный для описания квантовых состояний. Называется также обозначениями Дирака. В матричной механике данная система обозначений является общепринятой.
          • Обозначение тензоров. Тензор обычно обозначают некоторой буквой с совокупностью верхних (контрвариантных) и нижних (ковариантных) индексов. При смене базиса ковариантные компоненты меняются так же, как и базис (с помощью того же преобразования), а контравариантные — обратно изменению базиса (обратным преобразованием).

          Графические нотации

          • Семейства IDEF (Integrated DEFinition):
            • IDEF0 (функциональное моделирование);
            • IDEF1.X (информационное моделирование);
            • IDEF3 (моделирование деятельности или процессное моделирование).

            Страницы в категории «Нотации»

            Показано 12 страниц из 12, находящихся в данной категории.

            Источник

Оцените статью