Line | Branch | Exec | Source |
---|---|---|---|
1 | #include "backend.h" | ||
2 | |||
3 | namespace | ||
4 | { | ||
5 | 14 | bool generate_intermediate(const intermediate& i, data& data) | |
6 | { | ||
7 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
14 | data.result.push_back("from: " + i.line); |
8 | |||
9 |
8/12✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 3 times.
✓ Branch 5 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
|
14 | switch (i.command) |
10 | { | ||
11 | ✗ | case (intermediate::cmd::comment): | |
12 | ✗ | data.result.push_back("COMMENT: " + i.operand); | |
13 | ✗ | break; | |
14 | 1 | case (intermediate::cmd::create_file): | |
15 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | data.result.push_back("CREATE FILE: " + i.operand); |
16 | 1 | break; | |
17 | ✗ | case (intermediate::cmd::load_init_memory): | |
18 | ✗ | data.result.push_back("LOAD INIT MEMORY: " + i.operand); | |
19 | ✗ | break; | |
20 | 2 | case (intermediate::cmd::load_memory): | |
21 |
1/2✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
|
2 | data.result.push_back("LOAD INTO MEMORY: " + i.operand); |
22 | 2 | break; | |
23 | 3 | case (intermediate::cmd::print_memory): | |
24 |
2/4✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 3 times.
✗ Branch 6 not taken.
|
3 | data.result.push_back("PRINT MEMORY"); |
25 | 3 | break; | |
26 | 1 | case (intermediate::cmd::process_memory): | |
27 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | data.result.push_back("PROCESS MEMORY"); |
28 | 1 | break; | |
29 | 1 | case (intermediate::cmd::save_memory): | |
30 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | data.result.push_back("SAVE MEMORY: " + i.operand); |
31 | 1 | break; | |
32 | 1 | case (intermediate::cmd::text_init_memory): | |
33 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | data.result.push_back("TEXT INIT MEMORY: " + i.operand); |
34 | 1 | break; | |
35 | ✗ | case (intermediate::cmd::text_memory): | |
36 | ✗ | data.result.push_back("TEXT TO MEMORY: " + i.operand); | |
37 | ✗ | break; | |
38 | 4 | case (intermediate::cmd::print_text): | |
39 |
1/2✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
4 | data.result.push_back("PRINT TEXT: " + i.operand); |
40 | 4 | break; | |
41 | 1 | case (intermediate::cmd::save_text): | |
42 |
3/6✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
|
1 | data.result.push_back("SAVE TEXT: '" + i.operand + "' to " + i.operandB); |
43 | 1 | break; | |
44 | } | ||
45 | |||
46 | 14 | return true; | |
47 | } | ||
48 | } // namespace | ||
49 | |||
50 | 1 | void generate_intermediate(data& data) | |
51 | { | ||
52 |
2/2✓ Branch 5 taken 14 times.
✓ Branch 6 taken 1 times.
|
15 | for (const auto& ic : data.c) |
53 | { | ||
54 |
2/4✓ Branch 1 taken 14 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 14 times.
|
14 | if (!generate_intermediate(ic, data)) |
55 | ✗ | return; | |
56 | } | ||
57 | } | ||
58 |