2429

Лексичні одиниці в програмуванні

Шпаргалка

Информатика, кибернетика и программирование

Лексичний устрій тексту програм. Напередвизначені позначення. Класифікація напередвизначених типів. Алфавіт будь-якої мови програмування є підмножиною символів (літер), представлених у спеціальній таблиці ASCII.

Украинкский

2013-01-06

121 KB

4 чел.

Алфавіт мови

Алфавіт будь-якої мови програмування є підмножиною символів (літер), представлених у спеціальній таблиці ASCII.

Зазвичай алфавіт складається з 52 великих і малих літер, 10 десяткових цифр та спеціальних символів, таких, скажімо як +, -, *, >. Алфавіт мови входить до стандартного (напередвизначеного) оточення мови (standard language environment), для того щоб різні реалізації одної мови (транслятори) були однаковими з точки зору обміну текстами мови.

Лексичний устрій тексту програм

На лексичному рівні інкапсуляції текст програми складається з наступних конструкцій:

- пробільні символи;

- коментарі;

  •  лексеми.

Пробільні символи - це символи, які використовуються для відділення лексем і поліпшення читання програми. До пробільних належать такі символи: пробіл, табуляція, новий рядок. Коментарі - це послідовності символів, які не належать тексту програми (мові) і виконують опис пояснень у програмі. Наприклад, коментар у мові С – /*це коментар у мові С*/ чи – // це коментар у мові С.


Лексеми

Лексеми - це простіші програмні конструкції, що складають словниковий запас мови. Також лексеми – це капсули, що інкапсулюють символи алфавіту.

 

Капсула-лексема представляється розміченим ланцюжком наступного виду:

......S1*l1[l2...ln]*Sj...,

де Si, Sj, lk V,а, Si, Sj - пробільні символи чи символи інших лексем;

lk, де k = 1, ..., n - символи капсули-лексеми, при цьому l1 - перший символ, а ln - останній символ лексеми.

ASCII - American Standard Codes Information Interchange

DEC

HEX

CHAR

DEC

HEX

CHAR

DEC

HEX

CHAR

DEC

HEX

СНАЯ

DEC

HEX

СНАЯ

0

0

20

14

40

28

(

60

3C

<

80

50

Р

1

1

21

15

41

29

)

61

3D

=

81

51

Q

2

2

22

16

42

2A

*

62

3E

>

82

52

R

3

3

23

17

43

2B

+

63

3F

?

83

53

S

4

4

24

18

44

2C

,

64

40

@

84

54

Т

5

5

25

19

45

2D

65

41

A

85

55

U

6

6

26

1A

46

2E

.

66

42

В

86

56

V

7

7

27

1B

47

2F

/

67

43

С

87

57

W

8

8

28

1C

48

30

0

68

44

D

88

58

X

9

9

29

ID

49

31

1

69

45

Е

89

59

Y

10

A

30

1E

50

32

2

70

46

F

90

5A

Z

11

В

31

IF

51

33

3

71

47

G

91

5B

[

12

С

32

20

52

34

4

72

48

Н

92

5C

\

13

D

33

21

!

53

35

5

73

49

I

93

5D

]

14

E

34

22

"

54

36

6

74

4A

J

94

5E

^

15

F

35

23

#

55

37

7

75

4B

К

95

5F

_

16

10

36

24

$

56

38

8

76

4C

L

96

60

'

17

11

37

25

%

57

39

9

77

4D

М

97

61

a

18

12

38

26

&

58

ЗА

:

78

4E

N

98

62

b

19

13

39

27

'

59

3B

;

79

4F

О

99

63

с

100

64

d

106

6A

j

112

70

p

119

77

w

125

7D

}

101

65

e

107

68

k

113

71

q

120

78

x

126

7E

~

102

66

f

108

6C

l

114

72

r

121

79

y

127

7F

103

67

g

109

6D

m

115

73

s

122

7A

z

104

68

h

110

6E

n

117

75

u

123

7B

{

105

69

i

111

6F

o

118

76

v

124

7C

|

Примітка. 0 - 32-символи, що не відображуються

Лексичний аналіз

Програма транслятора, яка аналізує лексеми, перевіряючи правильність їх написання, виконує лексичний аналіз (lexical analisys), і називається лексичним аналізатором (lexical analiser), або сканером (scanner). Крім аналізу сканер виконує кодування лексем, і вилучає пробільні символи та символи, що належать до коментарів, внесених у програму. Текст програми, що складається з кодів лексем, використовується у процесі синтаксичного аналізу, що виконується слідом за лексичним аналізом, який також здійснює відповідна програма трансляторa.

Позначення

Всі лексеми в тексті програми є позначеннями. Це означає, що лексеми позначають інші конструкції мови, які будуються і використовуються в процесах трансляції і виконання програми. У загальному випадку, конструкції, які позначають лексеми, називаються значеннями. Всі позначення діляться на напередвизначені та такі, що визначаються.

Класифікація позначень

Напередвизначені позначення

 Напередвизначені позначення – це такі, котрі задані стандартним оточенням мови, отже їх необхідно знати. Поділяються на зарезервовані, стандартні ті зображення.

Зарезервовані позначення - це такі позначення, у яких зв'язок зі значеннями встановлюється стандартним оточенням, наприклад, if, virtual, const, static.

 

Стандартні позначення - це такі, у яких зв'язок зі значенням також установлюється стандартним оточенням, однак у граматиці мови передбачені правила для перевизначення цих позначень, наприклад, позначення integer, +, -.

Індикатори напередвизначених типів - це позначення напередвизначених типів, наприклад, int, integer, char.

Позначення напередвизначених операцій - це символи, пари символів і рідше більш довгі ланцюжки символів, яким стандартним оточенням поставлена у відповідність деяка напередвизначена інтерпретація.

Розрізняються наступні групи позначень:

- позначення операцій напередвизначених типів, звичайно скалярних, наприклад, -, +, *, /;

- позначення операцій відносин (порівняння, більше, менше і т.д.), наприклад, ==, !=, <, >, >=, <=;

- позначення логічних операцій (логічне И, ЧИ, НЕМАЄ і т.д.), наприклад, !, &&, ||;

- позначення операцій маніпулювання бітами (зрушення, побітові И, ЧИ, і т.д.), наприклад, &, ^ , <<, >>, ||.

Позначення напередвизначених розподільників - це такі позначення, значення яких полягає в тому, що вони входять як допоміжні позначення в конструкції більш високих рівнів, наприклад, позначення “(“, “)”, “,” .

Напередвизначені зображення - це такі позначення, у яких зв'язок зі значенням установлюється стандартним оточенням.

Позначення, що визначаються

Позначення, що визначаються - це такі позначення, що складає програміст, керуючись правилами граматики мови. До них належать ідентифікатори та зображення.

Ідентифікатори - це позначення, що відповідають напередвизначеним синтаксичним і прагматичним правилам. Сутність правил є така, що ідентифікатор – це послідовність з символів букв, цифр і символу підкреслення, яка починається тільки з букви (інколи з символу підкреслення). Наприклад, nVal, cChar.

Зображення, що визначаються - це такі позначення, яким відповідають усюди відомі значення. Наприклад, 13, 5.2, ‘А’, “Си”.

Типи

Тип (вид) - це множина значень і множина операцій (дій), які можна виконувати над цими значеннями.

Будь-який тип характеризується наступним:

- позначенням типу (індикатор - задається стандартним оточенням чи обирається програмістом;

- множиною значень і відповідних зображень позначень, що задаються за визначеними правилами;

- множиною операцій, кожна має цілком визначений зміст;

  •  розміром пам'яті, котру буде займати значення даного типу при виконанні програми.

Операції, що описуються явно - це операції, що описуються і реалізуються програмістом явно, як правило при описі типу, що визначається. До них відносяться операції абстрактних типів даних.

Напередвизначені типи - це типи, для яких позначення, множини значень, множина і устрій значень напередвизначені стандартним оточенням і не можуть змінюватися.

Типи, що визначаються - це типи, для яких зазначені властивості визначаються програмістом.


Класифікація типів

Класифікація напередвизначених типів


Скалярні типи

Скалярні типи подаються монолітними значеннями без компонентів. До них належать дискретні та дійсні типи.

Множини значень кожного скалярного типу впорядковані, наперед визначено всі їх відношення, вони мають нижню та верхню межі значень.

Цілі, фіксовані та плаваючі типи утворюють групу числових типів.

Дискретні типи базуються на понятті: дискретного діапазону.

Упорядкована множина значень із максимальним і мінімальним значеннями та функціями визначення попереднього і наступного значення називається дискретним діапазоном (discrete range).

Дискретні типи

Типи в яких множини значень утворюють дискретний діапазон, називаються дискретними типами (discrete type). Ці типи мають множину значень із мінімальним і максимальним значеннями. У кожного відмінного від останнього значення є наступне значення, а в кожного відмінного від першого значення є попереднє значення. Для визначення попереднього і наступного значень передбачаються відповідні функції.

Наприклад, якщо є упорядкована послідовність значень

Т= < 3, 4, 5, 6, 7, 8 >,

Vmin = 3, Vmax = 8 значення, функція визначення наступного значення – це додавання одиниці до даного значення, функція визначення попереднього – це віднімання одиниці від даного значення.

Цілий тип

Цілий тип (integer type) утворюють значення, які називають цілими числами. Тип зазвичай включає в себе значення певного дискретного діапазону. Зображення значень цілого типу це - загальновідомі зображення цілих чисел. Наприклад, 1, 8, 65, 3458.

Для цілих типів визначено позначення в мові С int, арифметичні стандартні операції, операції відношень і основні базові операції.

Перелічуваний тип

Перелічуваний тип (enumeration type) утворюють значення, що задаються явним перелічуванням. До перелічуваних типів належать символьний і логічний типи.

Символьний тип

Символьний тип (charаcter type) – це тип, значення якого задаються (перелічуються) у стандартному оточенні мови, у таблиці ASCII (впорядкованої множини зі 128 значень).

Зображення значень символьного типу - це зображення загально відомих символів, які на письмі беруться в лапки для того, щоб відрізняти зображення від позначень інших об’єктів та зображень цифр цілого типу. Наприклад, „А”, „+”, „5”- це зображення значень символьного типу, а А, +, 5 - це позначення: ідентифікатор - А, позначення дії додавання - + та 5 – зображення значення цілого типу - 5.

Для значень символьного типу напередвизначено позначення типу – char, стандартні операції відношень і базові операції.

Логічний тип

Логічний тип (boolean type) подається (перелічується) двома значеннями, зображеними як 0(FALSE) і 1(TRUE). Ці значення впорядковано так, що FALSE < TRUE.

Для логічного типу наперед визначено позначення – bool, відношення і стандартні логічні та базові операції.

Дійсні типи

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

n + 0. d1, d2, ... dk,

де n – ціле число; di {0, 1, ... 9}.

Таке подання означає, що для деякого дійсного значення х, при будь-якому додатному k виконується нерівність:

n + d1/10 + d2/100 + ... + dk/10k  x < n + d1/10 + d2/100 + ... + dk/10k + 1/10k...

Для зображення значень дійсного типу використовують два способи.

1) значення t зображають розбиваючи його дві частини: r – до коми та l – після коми, тобто

t = k, l.

2) значення зображують у вигляді:

х = m.bp,

де m - мантиса (дробове число зі знаком); b – основа системи числення, взята для зображення значення (двійкова, вісімкова, десяткова, шістнадцяткова); p - порядок (ціле число, змінюване у відповідному діапазоні). При цьому, коли значення х розташовується в пам’яті, більша частина значення х відводиться під мантису, а решта під порядок.

1) 23.0045 1) 0.0230045

2) 2.300450Е+001 2) 2.30045Е-002


 

А также другие работы, которые могут Вас заинтересовать

83289. Звуки с, с, позначення їх буквами Сс. Читання складів і слів з ними. Вправи на доповнення речень словами. Читання тексту «Зустріч з лисом» за А. Давидовим 220.5 KB
  Сьогодні до нас на урок завітало дуже багато гостей і урок наш трішки незвичайний. Ми вирушаємо у подорож, щоб знайти скарб, але шукати буде його нелегко, адже треба докласти усiх зусиль: виявити читацькі знання, розум, кмiтливiсть, винахідливість, уважність, спостережливість.
83290. Склонение имен существительных в единственном числе. Начальная форма имен существительных. Употребление падежных предлогов 60 KB
  Цель: продолжить работу над формированием умения устанавливать связь между словами в предложении; закреплять знания падежных вопросов к именам существительным; развивать умение анализировать, сравнивать; воспитывать интерес к предмету.
83291. Комбінована робота. Практична робота. Створення аплікації на тему «Метелик» 129.5 KB
  Мета: закріпити навички роботи з папером, удосконалювати навички копіювання простих форм за допомогою шаблону та створення з вирізаних форм аплікації;повторити правили техніки безпеки під час роботи з ножицями; розвивати увагу, спостережливість, фантазію; виховувати працелюбність, акуратність...
83292. Океаны Земли. Практическая работа. Обозначение океанов и материков на глобусе и карте 68 KB
  Цели: Сформировать представление о поверхности океанов Земли изображение их на глобусе и карте довести до сознания учащихся что в природе всё взаимосвязано; Развивать пространственное воображение познавательный интерес развивать умение работать с картой полушарий глобусом учебным текстом...
83293. Чи легко приносити радість іншим? В.О. Сухомлинський «Покинуте кошеня» А. Костецький «Хвостата мова» 4.5 MB
  Мета: Формувати навички швидкого виразного читання, уміння уважно слухати; Збагачувати словниковий запас учнів; Простежувати причиново-наслідкові зв’язки, аналізувати проблемні ситуації і робити висновки. Вчити дітей розглядати будь-який об’єкт чи явище з позитивної і негативної точки зору...
83294. Склад числа 10. Складання і розв’язування прикладів на додавання. Складання прикладів за монетами. Розпізнавання геометричних фігур 32 KB
  Мета: розглянути всі варіанти складу числа 10; вправляти учнів у складанні прикладів за малюнками, розпізнаванні геометричних фігур; ознайомити учнів з монетою номіналом «10к.»; розвивати мислення, навички каліграфічного письма; виховувати старанність.
83295. Информационные технологии как фактор повышения мыслительной деятельности учащихся на уроках познание мира 2.58 MB
  Изучить психолого–методическую и научно–методическую литературу о роли информационных технологий в учебном процессе. Раскрыть роль и значение информационных технологий в повышении результативности в обучении школьников. Экспериментальная проверка роли информационных технологий как фактора повышения качества знаний школьников на уроках познание мира.
83296. Факторы и последствия изменения климата 56.59 KB
  Изучением изменений климата занимается наука палеоклиматология. Причиной изменения климата являются динамические процессы на Земле внешние воздействия такие как колебания интенсивности солнечного излучения и с недавних пор деятельность человека.