3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-07 18:05:21 +00:00

add octal escape to seq_decl_plugin

This commit is contained in:
Murphy Berzish 2017-02-23 18:24:08 -05:00
parent c67cf1653c
commit 61bbf8ba7e

View file

@ -38,8 +38,16 @@ static bool is_hex_digit(char ch, unsigned& d) {
return false;
}
static bool is_octal_digit(char ch, unsigned& d) {
if ('0' <= ch && ch <= '7') {
d = ch - '0';
return true;
}
return false;
}
static bool is_escape_char(char const *& s, unsigned& result) {
unsigned d1, d2;
unsigned d1, d2, d3;
if (*s != '\\' || *(s + 1) == 0) {
return false;
}
@ -49,6 +57,12 @@ static bool is_escape_char(char const *& s, unsigned& result) {
s += 4;
return true;
}
if (is_octal_digit(*(s + 1), d1) && is_octal_digit(*(s + 2), d2) &&
is_octal_digit(*(s + 3), d3)) {
result = d1*64 + d2*8 + d3;
s += 4;
return true;
}
switch (*(s + 1)) {
case 'a':
result = '\a';