| 304 | } |
| 305 | |
| 306 | int int_val(TokenStream &in, bool &valid) |
| 307 | { |
| 308 | LOG_TOKEN_POS(in, pos); |
| 309 | auto tok = in.take(); |
| 310 | if (tok.type != TokenType::Int) |
| 311 | { |
| 312 | FAIL_WITH_MSG_DEFAULT(valid, -1, pos, "Expect int token"); |
| 313 | } |
| 314 | int val{}; |
| 315 | std::stringstream(tok.value) >> val; |
| 316 | return val; |
| 317 | } |
| 318 | |
| 319 | unsigned int uint_val(TokenStream &in, bool &valid) |
| 320 | { |