int main() {
int x = 4;
int y = 2;
int unused = 100;
int z = 4 * y - 2;
if (x % 2 == 0) {
cout << z;
}
return 0;
}
| № | Лексема | Тип |
|---|---|---|
| 1 |
int
|
Ключевое слово (Keyword) |
| 2 |
main
|
Идентификатор (Identifier) |
| 3 |
(
|
Разделитель (Punctuation) |
| 4 |
)
|
Разделитель (Punctuation) |
| 5 |
{
|
Разделитель (Punctuation) |
| 6 |
int
|
Ключевое слово (Keyword) |
| 7 |
x
|
Идентификатор (Identifier) |
| 8 |
=
|
Оператор (Operator) |
| 9 |
4
|
Числовая константа (Literal) |
| 10 |
;
|
Разделитель (Punctuation) |
| 11 |
int
|
Ключевое слово (Keyword) |
| 12 |
y
|
Идентификатор (Identifier) |
| 13 |
=
|
Оператор (Operator) |
| 14 |
2
|
Числовая константа (Literal) |
| 15 |
;
|
Разделитель (Punctuation) |
| 16 |
int
|
Ключевое слово (Keyword) |
| 17 |
unused
|
Идентификатор (Identifier) |
| 18 |
=
|
Оператор (Operator) |
| 19 |
100
|
Числовая константа (Literal) |
| 20 |
;
|
Разделитель (Punctuation) |
| 21 |
int
|
Ключевое слово (Keyword) |
| 22 |
z
|
Идентификатор (Identifier) |
| 23 |
=
|
Оператор (Operator) |
| 24 |
4
|
Числовая константа (Literal) |
| 25 |
*
|
Оператор (Operator) |
| 26 |
y
|
Идентификатор (Identifier) |
| 27 |
-
|
Оператор (Operator) |
| 28 |
2
|
Числовая константа (Literal) |
| 29 |
;
|
Разделитель (Punctuation) |
| 30 |
if
|
Ключевое слово (Keyword) |
| 31 |
(
|
Разделитель (Punctuation) |
| 32 |
x
|
Идентификатор (Identifier) |
| 33 |
%
|
Оператор (Operator) |
| 34 |
2
|
Числовая константа (Literal) |
| 35 |
==
|
Оператор (Operator) |
| 36 |
0
|
Числовая константа (Literal) |
| 37 |
)
|
Разделитель (Punctuation) |
| 38 |
{
|
Разделитель (Punctuation) |
| 39 |
cout
|
Идентификатор (Identifier) |
| 40 |
<<
|
Оператор (Operator) |
| 41 |
z
|
Идентификатор (Identifier) |
| 42 |
;
|
Разделитель (Punctuation) |
| 43 |
}
|
Разделитель (Punctuation) |
| 44 |
return
|
Ключевое слово (Keyword) |
| 45 |
0
|
Числовая константа (Literal) |
| 46 |
;
|
Разделитель (Punctuation) |
| 47 |
}
|
Разделитель (Punctuation) |
int x = 3 * 4 - y;
=
→
слева переменная
x
с типом
int
→
справа
-
→
слева
*
с операндами
3
и
4
→
справа
y.
// --- Академический ассемблерный код LMC ---
LDA 52 // константа 6
OUT 02 // числовой вывод LMC
LDA 53 // константа 0
BRA L_program_end
HLT
// --- Память данных (DAT) ---
050 DAT 0 // Ноль
051 DAT 1 // Единица
052 DAT 6 // Константа 6
053 DAT 0 // Константа 0
55 48 89 E5 48 83 EC 20 C7 45 FC 05 00 00 00 8B 45 FC 48 83 C4 20 5D C3