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

use signed char per porting issue for ARM/64

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-06-02 15:53:32 -07:00
parent cccd37101e
commit 1d46d5c870
5 changed files with 24 additions and 22 deletions

View file

@ -18,7 +18,7 @@ Revision History:
--*/
#include "parsers/util/scanner.h"
inline char scanner::read_char() {
inline signed char scanner::read_char() {
if (m_is_interactive) {
++m_pos;
return m_stream.get();
@ -58,7 +58,7 @@ inline bool scanner::state_ok() {
void scanner::comment(char delimiter) {
while(state_ok()) {
char ch = read_char();
signed char ch = read_char();
if ('\n' == ch) {
++m_line;
}
@ -68,7 +68,7 @@ void scanner::comment(char delimiter) {
}
}
scanner::token scanner::read_symbol(char ch) {
scanner::token scanner::read_symbol(signed char ch) {
bool escape = false;
if (m_smt2)
m_string.pop_back(); // remove leading '|'
@ -94,7 +94,7 @@ scanner::token scanner::read_symbol(char ch) {
scanner::token scanner::read_id(char first_char) {
char ch;
signed char ch;
m_string.reset();
m_params.reset();
m_string.push_back(first_char);
@ -159,7 +159,7 @@ bool scanner::read_params() {
unsigned param_num = 0;
while (state_ok()) {
char ch = read_char();
signed char ch = read_char();
switch (m_normalized[(unsigned char) ch]) {
case '0':
param_num = 10*param_num + (ch - '0');
@ -208,7 +208,7 @@ scanner::token scanner::read_number(char first_char, bool is_pos) {
m_state = INT_TOKEN;
while (true) {
char ch = read_char();
signed char ch = read_char();
if (m_normalized[(unsigned char) ch] == '0') {
m_number = rational(10)*m_number + rational(ch - '0');
if (m_state == FLOAT_TOKEN) {
@ -236,7 +236,7 @@ scanner::token scanner::read_string(char delimiter, token result) {
m_string.reset();
m_params.reset();
while (true) {
char ch = read_char();
signed char ch = read_char();
if (!state_ok()) {
return m_state;
@ -265,7 +265,7 @@ scanner::token scanner::read_string(char delimiter, token result) {
scanner::token scanner::read_bv_literal() {
TRACE("scanner", tout << "read_bv_literal\n";);
if (m_bv_token) {
char ch = read_char();
signed char ch = read_char();
if (ch == 'x') {
ch = read_char();
m_number = rational(0);
@ -315,7 +315,7 @@ scanner::token scanner::read_bv_literal() {
}
else {
// hack for the old parser
char ch = read_char();
signed char ch = read_char();
bool is_hex = false;
m_state = ID_TOKEN;
@ -342,7 +342,7 @@ scanner::token scanner::read_bv_literal() {
}
while (true) {
ch = read_char();
signed ch = read_char();
if (ch == '0' || ch == '1' ||
(is_hex &&
(('0' <= ch && ch <= '9') ||
@ -449,7 +449,7 @@ scanner::scanner(std::istream& stream, std::ostream& err, bool smt2, bool bv_tok
scanner::token scanner::scan() {
while (state_ok()) {
char ch = read_char();
signed char ch = read_char();
switch (m_normalized[(unsigned char) ch]) {
case ' ':
break;

View file

@ -63,7 +63,7 @@ private:
rational m_number;
unsigned m_bv_size;
token m_state;
char m_normalized[256];
char m_normalized[256];
vector<char> m_string;
std::istream& m_stream;
std::ostream& m_err;
@ -71,13 +71,13 @@ private:
buffer<char> m_buffer;
unsigned m_bpos;
unsigned m_bend;
char m_last_char;
char m_last_char;
bool m_is_interactive;
bool m_smt2;
bool m_bv_token;
char read_char();
token read_symbol(char ch);
signed char read_char();
token read_symbol(signed char ch);
void unread_char();
void comment(char delimiter);
token read_id(char first_char);