2429

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

Шпаргалка

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

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

Украинкский

2013-01-06

121 KB

5 чел.

Алфавіт мови

Алфавіт будь-якої мови програмування є підмножиною символів (літер), представлених у спеціальній таблиці 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


 

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

48495. КОНСТИТУЦИОННОЕ ПРАВО РОССИИ 69 KB
  Значение учебной дисциплины Конституционное право Российской Федерации для изучения других правовых дисциплин. ОБЩАЯ ХАРАКТЕРИСТИКА КОНСТИТУЦИИ РОССИЙСКОЙ ФЕДЕРАЦИИ 1993 г. Необходимость принятия Конституции Российской Федерации 12 декабря 1993 г. ОСНОВЫ КОНСТИТУЦИОННОГО СТРОЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Понятие основ конституционного строя.
48496. КОНСТИТУЦИОННОЕ ПРАВО ЗАРУБЕЖНЫХ СТРАН 80 KB
  Особенности конституционно-правовых школ США Великобритании Франции ФРГ Италии и Индии. Конституции писаные США Индия Франция Италия Мексика Япония и неписаные Великобритания Новая Зеландия жесткие США Франция Япония Индия и гибкие Великобритания Новая Зеландия. Общие черты и особенности президентских республик США Мексика. Общие черты и основные особенности положения органов власти и управления субъектов Федерации в США ФРГ и Индии.
48498. КРИМИНОЛОГИЯ 172 KB
  Криминология изучает преступность виды преступности преступления; их причины иные виды их взаимосвязей с различными явлениями и процессами; результативность принимавшихся мер по борьбе с преступностью. Предмет это закономерности: преступности во всех ее проявлениях детерминации и причинности преступности подверженности преступности различным воздействиям. Преступность в различных ее проявлениях включает: преступление или индивидуальное преступное поведение; отдельные виды преступности выделяемые по объекту посягательств...
48499. Курс молодого избирателя 128.5 KB
  И в первую очередь с помощью продвижения идей местного самоуправления в среде старшеклассников. Идея формирование опыта самоуправления деятельности человека. Основное предназначение ученического самоуправления удовлетворять потребности учащихся направленные прежде всего на защиту их гражданских прав и интересов участие в решении реальных проблем школы. Смысл ученического самоуправления заключается не в управлении одних детей другими а в обучении всех детей основам демократических отношений в обществе в обучении их управлять собой...
48500. СТРАТЕГИЧЕСКИЙ МАРКЕТИНГ. КОНСПЕКТ ЛЕКЦИЙ 329 KB
  Стратегический маркетинг представляет собой постоянный и систематический анализ потребностей рынка выводящий на разработку эффективных товаров предназначенных для конкретных групп покупателей и обладающих особыми свойствами отличающими их от товаровконкурентов и таким образом создающими изготовителю устойчивое конкурентное преимущество. Роль стратегического маркетинга прослеживать эволюцию заданного рынка и выявлять различные существующие либо потенциальные рынки или их сегменты на основе анализа потребностей нуждающихся в...
48501. Логика: язык, основные логические законы 657 KB
  Понятия Понятие как форма мышления. Отношения между понятиями. Понятие как форма мышления Обратить внимание на соотношение понятия и слова синонимы омонимы. Неточные молодой человек лысый человек и неясные человек понятия.
48502. КУРС ВИЩОЇ МАТЕМАТИКИ 2.83 MB
  КУРС ВИЩОЇ МАТЕМАТИКИ ЧАСТИНА 2 2005 Диференціальне числення функції однієї змінної. Похідна функції її геометричний і фізичний зміст. Похідної функції fx у точці х = х0 називається границя відносини приросту функції в цій точці до приросту аргументу якщо він існує. Тоді тангенс кута нахилу січної МР до графіка функції.
48503. УЧЕБНАЯ РАДИО- ЭЛЕКТРОМОНТАЖНАЯ ПРАКТИКА 13.68 MB
  В процессе подготовки будущие специалисты должны получить определённую квалификацию, практические навыки. Особенно важно иметь хорошую практическую подготовку для специалиста, который, овладев теоретическими знаниями, должен уметь выполнить ту или иную конкретную работу.