From 7e1f591b18a2ba58dc98671e6c1944e2db818cc2 Mon Sep 17 00:00:00 2001 From: stefan schippers Date: Tue, 2 May 2023 18:54:27 +0200 Subject: [PATCH] align TOK_TOKEN state change of translate() and translate2() to all other parsers --- src/token.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/token.c b/src/token.c index 87dfa445..609d7c01 100644 --- a/src/token.c +++ b/src/token.c @@ -2428,7 +2428,6 @@ static void print_verilog_primitive(FILE *fd, int inst) /* netlist switch level ( (space || c == '%' || c == '@') && !escape ) || ( (!space && c != '%' && c != '@') && escape ) ) - ) { state=TOK_SEP; } @@ -2957,13 +2956,12 @@ const char *translate(int inst, const char* s) else escape=0; space=SPACE(c); if( state==TOK_BEGIN && (c=='@' || c=='%' ) && !escape ) state=TOK_TOKEN; /* 20161210 escape */ - else if( state==TOK_TOKEN && ( - (space && !escape) || - (c =='@' || c == '%') || - (!space && escape) - ) - && token_pos > 1 ) state=TOK_SEP; - + else if(state==TOK_TOKEN && token_pos > 1 && + ( + ( (space || c == '%' || c == '@') && !escape ) || + ( (!space && c != '%' && c != '@') && escape ) + ) + ) state=TOK_SEP; STR_ALLOC(&result, result_pos, &size); STR_ALLOC(&token, token_pos, &sizetok); @@ -3571,9 +3569,12 @@ const char *translate2(Lcc *lcc, int level, char* s) else escape = 0; space = SPACE(c); if (state == TOK_BEGIN && c == '@' && !escape) state = TOK_TOKEN; - else if (state == TOK_TOKEN && ( (space && !escape) || c == '@' || (!space && escape)) && token_pos > 1) { - state = TOK_SEP; - } + else if(state==TOK_TOKEN && token_pos > 1 && + ( + ( (space || c == '@') && !escape ) || + ( (!space && c != '@') && escape ) + ) + ) state=TOK_SEP; STR_ALLOC(&result, result_pos, &size); STR_ALLOC(&token, token_pos, &sizetok); if (state == TOK_TOKEN) token[token_pos++] = (char)c;