Line | Branch | Exec | Source |
---|---|---|---|
1 | #include "script.h" | ||
2 | #include "tokens.h" | ||
3 | #include <sstream> | ||
4 | #include <text_conversion_constexpr.h> | ||
5 | #include <vector> | ||
6 | |||
7 | namespace script | ||
8 | { | ||
9 | 141 | void parse(const std::string& line, command& command, std::string& operand) | |
10 | { | ||
11 | 141 | command = command::INVALID; | |
12 | |||
13 |
2/2✓ Branch 1 taken 5 times.
✓ Branch 2 taken 136 times.
|
141 | if (line.starts_with("#")) |
14 | { | ||
15 | 5 | command = command::COMMENT; | |
16 | 7 | return; | |
17 | } | ||
18 | |||
19 | 136 | std::string cmd; | |
20 | |||
21 |
1/2✓ Branch 1 taken 136 times.
✗ Branch 2 not taken.
|
136 | std::istringstream iss(line); |
22 |
1/2✓ Branch 1 taken 136 times.
✗ Branch 2 not taken.
|
136 | iss >> cmd; |
23 | |||
24 |
1/2✗ Branch 1 not taken.
✓ Branch 2 taken 136 times.
|
136 | if (cmd.empty()) |
25 | ✗ | return; | |
26 | |||
27 | 136 | language_token t; | |
28 |
3/4✓ Branch 1 taken 136 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 134 times.
|
136 | if (!get_from_token(cmd, t)) |
29 | 2 | return; | |
30 | |||
31 | 134 | command = t.ID; | |
32 | |||
33 |
2/2✓ Branch 0 taken 66 times.
✓ Branch 1 taken 68 times.
|
134 | if (t.has_operand) |
34 |
2/4✓ Branch 1 taken 66 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 66 times.
✗ Branch 5 not taken.
|
66 | std::getline(iss >> std::ws, operand); |
35 |
6/6✓ Branch 1 taken 134 times.
✓ Branch 2 taken 2 times.
✓ Branch 4 taken 134 times.
✓ Branch 5 taken 2 times.
✓ Branch 7 taken 134 times.
✓ Branch 8 taken 2 times.
|
140 | } |
36 | } // namespace script | ||
37 |