Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л_2_Базовые_элементы_С++.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
472.58 Кб
Скачать

Разделители

Компилятор, выполняя лексический анализ программы на языке С++, для распознания начала и (или) конца лексем использует разделители.

Функции разделителей:

 обозначение места начала и конца лексем;

 исключение из компиляции всех избыточных символов, не входящих в состав лексем.

Разделители лексем:

    • пробельные разделители

    • знаки операций (они сами есть лексемы)

    • знаки пунктуации (они сами есть лексемы).

Пробельные разделители

К пробельным разделителям относятся неизображаемые символы и комментарии. Пробельные разделители игнорируются и не обрабатываются компилятором.

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

Комментарий не является лексемой и трактуется компилятором как пробельный разделитель. Многострочный комментарий отмечается символами "/*" в начале и "*/" в конце выделяемого текста. Признаком однострочного комментария являются символы "//" в начале строки программы. Однострочный комментарий удобно использовать как пояснение к тексту оператора. Например:

int a; // текст, поясняющий назначение переменной

Комментарии можно использовать и при отладке программы: для исключения из компиляции некоторого фрагмента программы.

Символы комментария необходимо отделять от текста программы пробелом. В противном случае, текст программы может неправильно интерпретироваться компилятором.

Например, запись без пробелов:

int i = j //*деление на k*/k

+m;

будет распознана неправильно, как int i = j + m; (как имеющая однострочный комментарий), Запись с пробелами:

int i = j / /*деление на k*/ k

+m;

будет распознана правильно, как int i = j / j / k+m; (как имеющая многострочный комментарий).

Комментарии не могут быть вложенными, т.к. в тексте однострочного комментария символы многострочного комментария /* игнорируются (воспринимаются как обычные символы). Точно также игнорируются (воспринимаются как обычные) в тексте многострочного комментария символы однострочного комментария //.

Таблица 2.6.

ASCII-Коды (символы с кодами 0-127)

01111111

dec

hex

char

dec

hex

char

dec

hex

char

0

0

46

2E

.

92

5C

\

1

1

47

2F

/

93

5D

]

2

2

48

30

0

94

5E

^

3

3

49

31

1

95

5F

_

4

4

50

32

2

96

60

'

5

5

51

33

3

97

61

a

6

6

52

34

4

98

62

b

7

7

звонок

53

35

5

99

63

c

8

8

54

36

6

100

64

d

9

9

55

37

7

101

65

e

10

A

перевод строки

56

38

8

102

66

f

11

B

57

39

9

103

67

g

12

C

58

3A

:

104

68

h

13

D

возврат каретки

59

3B

;

105

69

i

14

E

60

3C

<

106

6A

j

15

F

61

3D

=

107

6B

k

16

10

62

3E

>

108

6C

l

17

11

63

3F

?

109

6D

m

18

12

64

40

@

110

6E

n

19

13

65

41

A

111

6F

o

20

14

66

42

B

112

70

p

21

15

67

43

C

113

71

q

22

16

68

44

D

114

72

r

23

17

69

45

E

115

73

s

24

18

70

46

F

116

74

t

25

19

71

47

G

117

75

u

26

1A

72

48

H

118

76

v

27

1B

73

49

I

119

77

w

28

1C

74

4A

J

120

78

x

29

1D

75

4B

K

121

79

y

30

1E

76

4C

L

122

7A

z

31

1F

77

4D

M

123

7B

{

32

20

пробел

78

4E

N

124

7C

¦

33

21

!

79

4F

O

125

7D

}

34

22

''

80

50

P

126

7E

~

35

23

#

81

51

Q

127

7 F

del

36

24

$

82

52

R

37

25

%

83

53

S

38

26

&

84

54

T

39

27

'

85

55

U

40

28

(

86

56

V

41

29

)

87

57

W

42

2A

*

88

58

X

43

2B

+

89

59

Y

44

2C

,

90

5A

Z

45

2D

-

91

5B

[

01111111


Таблица 2.7.

Кодовая таблица 866 – MS-DOS

(символы с кодами 127-255)

dec

hex

char

dec

hex

char

dec

hex

char

dec

hex

char

dec

hex

char

dec

hex

char

128

80

А

150

96

Ц

172

AC

м

193

C1

214

D6

235

EB

ы

129

81

Б

151

97

Ч

173

AD

н

194

C2

215

D7

236

EC

ь

130

82

В

152

98

Ш

174

AE

о

195

C3

216

D8

237

ED

э

131

83

Г

153

99

Щ

175

AF

п

196

C4

217

D9

238

EE

ю

132

84

Д

154

9A

Ъ

176

B0

-

197

C5

218

DA

239

EF

я

133

85

Е

155

9B

Ы

177

B1

-

198

C6

219

DB

240

F0

Ё

134

86

Ж

156

9C

Ь

178

B2

-

199

C7

220

DC

241

F1

ё

135

87

З

157

9D

Э

179

B3

200

C8

221

DD

242

F2

136

88

И

158

9E

Ю

180

B4

201

C9

222

DE

243

F3

137

89

Й

159

9F

Я

181

B5

202

CA

223

DF

244

F4

138

8A

К

160

A0

а

182

B6

203

CB

224

E0

р

245

F5

139

8B

Л

161

A1

б

183

B7

204

CC

225

E1

с

246

F6

+

140

8C

М

162

A2

в

184

B8

205

CD

226

E2

т

247

F7

141

8D

Н

163

A3

г

185

B9

206

CE

227

E3

у

248

F8

142

8E

О

164

A4

д

186

BA

207

CF

228

E4

ф

249

F9

143

8F

П

165

A5

е

187

BB

208

D0

229

E5

х

250

FA

144

90

Р

166

A6

ж

188

BC

209

D1

230

E6

ц

251

FB

145

91

С

167

A7

з

189

BD

210

D2

231

E7

ч

252

FC

n

146

92

Т

168

A8

и

190

BE

211

D3

232

E8

ш

253

FD

2

147

93

У

169

A9

й

191

BF

212

D4

233

E9

щ

254

FE

148

94

Ф

170

AA

к

192

C0

213

D5

234

EA

ъ

255

FF

149

95

Х

171

AB

л

 

 

 


Таблица 2.8.

Кодовая таблица 1251 – MS Windows

(символы с кодами 127-255, даны выборочно)

dec

hex

char

dec

hex

char

dec

hex

char

dec

hex

char

dec

hex

char

dec

hex

char

128

80

150

96

172

AC

¬

193

C1

Б

214

D6

Ц

235

EB

л

129

81

151

97

173

AD

-

194

C2

В

215

D7

Ч

236

EC

м

130

82

152

98

174

AE

®

195

C3

Г

216

D8

Ш

237

ED

н

131

83

153

99

175

AF

Ï

196

C4

Д

217

D9

Щ

238

EE

о

132

84

154

9A

176

B0

º

197

C5

Е

218

DA

Ъ

239

EF

п

133

85

155

9B

177

B1

±

198

C6

Ж

219

DB

Ы

240

F0

р

134

86

156

9C

178

B2

199

C7

З

220

DC

Ь

241

F1

с

135

87

157

9D

179

B3

i

200

C8

И

221

DD

Э

242

F2

т

136

88

158

9E

180

B4

r

201

C9

Й

222

DE

Ю

243

F3

у

137

89

159

9F

181

B5

μ

202

CA

К

223

DF

Я

244

F4

ф

138

8A

160

A0

182

B6

203

CB

Л

224

E0

а

245

F5

х

139

8B

161

A1

Ў

183

B7

.

204

CC

М

225

E1

б

246

F6

ц

140

8C

162

A2

ў

184

B8

ë

205

CD

Н

226

E2

в

247

F7

ч

141

8D

163

A3

J

185

B9

206

CE

О

227

E3

г

248

F8

ш

142

8E

164

A4

186

BA

ε

207

CF

П

228

E4

д

249

F9

щ

143

8F

165

A5

¤

187

BB

»

208

D0

Р

229

E5

е

250

FA

ъ

144

90

166

A6

¦

188

BC

j

209

D1

С

230

E6

ж

251

FB

ы

145

91

167

A7

§

189

BD

S

210

D2

Т

231

E7

з

252

FC

ь

146

92

168

A8

Ё

190

BE

s

211

D3

У

232

E8

и

253

FD

э

147

93

169

A9

©

191

BF

ï

212

D4

Ф

233

E9

й

254

FE

ю

148

94

170

AA

Є

192

C0

А

213

D5

Х

234

EA

к

255

FF

я

149

95

171

AB

«

 䦋㌌㏒

 䦋㌌㏒㧀좈໱琰茞ᓀ㵂Ü

 䦋㌌㏒㧀좈໱琰茞ᓀ㵂Ü

 䦋㌌㏒㧀좈໱琰茞ᓀ㵂Ü

 䦋㌌㏒㧀좈໱琰茞ᓀ㵂Ü