Киберфак – бесплатно скачать презентации PowerPoint, лекции, рефераты, шпоры, курсовые cyberfac logo
cyberfac.ru
На главную | Регистрация | Вход
  Статьи  
Главная » Статьи » Информатика » Языки программирования и методы трансляции

Сравнительная сложность языка

Полезная статья? Пожалуйста, поставьте "+"
Языки программирования и методы трансляции - Содержание

Модула исходно проектировался как простой язык, но с большими выразительными средствами, поэтому интересно сравнить его сложность с основными языками программирования. Практически невозможно однозначно определить некоторый критерий, значение которого можно было бы вычислить и который без каких-либо оговорок можно было бы назвать "сложность языка программирования". Однако описание любого языка программирования строго формализовано описанием его синтаксиса. Конечно, синтаксис – это лишь внешняя форма, но он играет важную роль. Синтаксические единицы являются одновременно и основными смысловыми понятиями любого языка: модуль, класс, блок, функция, процедура, метод, оператор, выражение.

Здесь рассматриваются описания языков при помощи нотации РБНФ. Правила, записанные на РБНФ, (как и текст на языке программирования) состоят из отдельных элементов – лексем. Лексемами являются названия понятий, называемые в теории формальных языков нетерминальными символами или просто нетерминалами. Например, в правиле:

ПоследовательностьОператоров = Оператор {";" Оператор}.

нетерминалами являются ПоследовательностьОператоров и Оператор.

Терминальные символы – это те знаки, из которых и состоит в конечном счете (terminal — конечный, заключительный) программа. При записи на РБНФ терминальные символы записываются в кавычках. В приведенном примере один терминал – ";". Терминальные символы это тоже лексемы РБНФ. Наконец к числу лексем относятся специальные знаки, используемые в самой РБНФ. В правиле про последовательность операторов это знак равенства, фигурные скобки и точка в конце. Пример описания языка Modula-2 в форме РБНФ приведен в Приложении В.

Общее число лексем в описании синтаксиса языка может служить обобщенной характеристикой размера этого описания. Число лексем использовать в качестве меры объема гораздо лучше, чем, скажем, число знаков в описании. В этом случае значение нашего критерия не будет зависеть от того, на каком языке (русском, английском) или какими конкретно словами названы нетерминалы.

Число различных нетерминалов – следующая характеристика, которую мы будем вычислять. Количество используемых для описания языка понятий – важное свойство, от которого зависит легкость освоения этого языка. Можно заметить, что число нетерминалов должно быть равно числу правил в описании синтаксиса, поскольку для каждого понятия обязано существовать ровно одно правило. Набор и количество различных терминальных символов языка, упомянутых в синтаксических формулах, характеризуют лексику языка – набор знаков и специальных символов. Во всех обсуждаемых нами языках существуют служебные слова, которые могут употребляться только в строго определенном смысле. Их, программист, вообще-то, должен знать наизусть.
Реузультаты расчета приведены в Таблице 1.

Таблица 1. Сравнительная сложность некоторых ЯВУ[16]

Элементы

Pascal

Turbo Pascal 5.5

Modula- 2

Oberon- 2

C

C++

Java

Ada

Лексемы

1085

1410

887

726

917

1662

1771

2206

Нетерминалы

119

135

70

43

53

126

174

226

Терминалы

92

87

88

91

213

131

121

102

Служебные слова

25

52

39

34

47

47

48

63



Линия языков, начинающаяся от Pascal и включающая в себя языки Modula-2, Oberon- 2, автором которых является Никлаус Вирт – линия Вирта [16], которой он неуклонно придерживается: наращивание мощи языка без его усложнения. Модула существенно мощнее и совершеннее Паскаля, но проще. Oberon-2 обогатил Модулу средствами объектно-ориентированного программирования – расширяемыми записями, и при этом не только не стал более сложным, но заметно упрощен.
Категория: Языки программирования и методы трансляции | Добавил: Ni-Cd (08 Декабря 2011)
Просмотров: 1691 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
  Полезные материалы  

В нашем каталоге файлов можно найти много полезной информации. Также советуем заглянуть в каталог статей: в нем есть полезные статьи по темам: Экономика предприятия, Общая экономика, Финансы и Кредит, также Словарь терминов по экономике, Маркетинг, Бухучет и Мировая экономика
Также есть полезная страница Факультеты МИФИ, которая расскажет о том, какие есть в МИФИ факультеты.
Меню
 

Навигация
Высокоуровневые методы информатики и программирования [28]
Информатика и программирование [34]
Информационные системы в экономике [36]
Языки программирования и методы трансляции [15]
Алгоритмизация и программирование [61]
 

Поиск
 

Онлайн
Онлайн всего: 13
Гостей: 13
Пользователей: 0
 

Статистика


Рейтинг@Mail.ru

 


2007 - 2024 © Ni-Cd. All Rights Reserved