<<
>>

Отсутствие неоднозначности

Непреложное правило любого языка программирования состоит в том, что определение синтаксиса должно обеспечивать однозначность любой допустимой конструкции. Неоднозначная конструкция допускает несколько толкований.
Обычно неоднозначность возникает не в отдельно взятом элементе программы, а при взаимодействии различных конструкций. Например, в главе 5 мы обсуждали проблему с повисшим else, которая появляется при вложении условных операторов друг в друга: if булево_выражение1 then if булево_выражение2 then оператор1 else оператор2

Эта структура является неоднозначной, так как неясно, к какому из if следует отнести else. В языке Fortran строка M(I,J) может означать как элемент двумерного массива M, так и вызов подпрограммы M с двумя параметрами I и J. В этом языке в обоих случаях применяется одна и та же синтаксическая конструкция. Примеры синтаксической неоднозначности имеются в любом языке программирования.

Все синтаксические неоднозначности обязательно устраняются. Пути решения, правда, выбираются разные:

? в языке Ada каждый условный оператор if должен завершаться закрывающей скобкой end if;

? в языках C и Pascal else сопоставляется ближайшему к нему if;

? в языке Fortran конструкция M(I,J) рассматривается как вызов подпрограммы, если не был объявлен массив M (ищется предварительное объявление массива M);

? в языке Pascal для последнего случая вводится синтаксическое отличие (индексы элемента массива заключаются в квадратные скобки M[I,J], а список параметров при обращении к подпрограмме заносится в круглые скобки M(I,J)).

<< | >>

Еще по теме Отсутствие неоднозначности:

  1. СЛЕЗЫ (ОТСУТСТВИЕ)
  2. ОРГАЗМ (ОТСУТСТВИЕ)
  3. Отсутствие любопытства
  4. АНОРГАЗМИЯ См. статью ОРГАЗМ (ОТСУТСТВИЕ).
  5. СУХОСТЬ В ГЛАВАХ См. СЛЕЗЫ (ОТСУТСТВИЕ).
  6. Отсутствующий Взрослый
  7. Отсутствующий Взрослый
  8. 1. Отсутствие юридических последствий
  9. 2. Последствия признания гражданина безвестно отсутствующим
  10. Отсутствие синонимов
  11. 9. Безвестное отсутствие. Объявление гражданина умершим
  12. Статья 43. Признание физического лица безвестно отсутствующим
  13. Отсутствие сильной воли
  14. Отсутствие пояснительных альтернатив.