| 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 |