Университет | Оберон


Арифметика синтаксиса
Материалы к статье в PC Week/RE #42-43, 1998


Правила РБНФ

Для описания синтаксиса используются Расширенные Бэкуса-Наура Формы (РБНФ). Варианты разделяются знаком |. Квадратные скобки [ и ] означают необязательность записанного внутри них выражения, а фигурные скобки { и } означают его повторение (возможно 0 раз). Нетерминальные символы начинаются с заглавной буквы (например, Оператор). Терминальные символы или начинаются малой буквой (например, идент), или записываются целиком заглавными буквами (например, BEGIN), или заключаются в кавычки (например, ":=").


Описания синтаксиса языков программирования на РБНФ


Результаты измерения количественных характеристик описаний синтаксиса

Алгол-60 Паскаль ТП2.0 ТП5.0 ТП5.5 ТП6.0

ОП

М2 Оберон О2

Си

Си++

Ява

Ада

Лексем

1085

1012

1184

1331

1410

1488

1825

887

765

726

917

1662

1771

2206

Нетерминалов

119

110

124

127

135

143

180

70

62

43

53

126

174

226

Непустых правил

108

87

101

105

112

118

146

69

59

42

49

117

160

171

Знаков РБНФ

475

447

550

660

697

721

884

414

361

336

400

768

773

992

Сложность правила

9.1

9.2

9.6

10.5

10.4

10.4

10.1

12.7

12.3

16.9

17.3

13.2

10.2

9.76

Терминалов

92

84

87

87

87

89

90

88

90

91

123

131

121

102

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

25

35

42

48

52

55

83

39

32

34

27

47

48

63

Всего терминалов

117

119

129

135

139

144

173

127

122

125

150

178

169

165

Линии языков

Рис. 1. Сложность синтаксиса языков программирования


Университет | Оберон



С. Свердлов
с3с@uni-vologda.ac.ru

Турбограф XXI
Графический редактор
  

JobTM
Oberon-2 Compiler


J.Class Optimizer

Rambler's Top100
30.09.98