Module Name: src Committed By: rillig Date: Thu Nov 25 17:28:13 UTC 2021
Modified Files: src/usr.bin/indent: lexi.c Log Message: indent: in lexi, assign lsym and next_unary in consistent order No functional change. To generate a diff of this commit: cvs rdiff -u -r1.158 -r1.159 src/usr.bin/indent/lexi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/indent/lexi.c diff -u src/usr.bin/indent/lexi.c:1.158 src/usr.bin/indent/lexi.c:1.159 --- src/usr.bin/indent/lexi.c:1.158 Thu Nov 25 17:10:53 2021 +++ src/usr.bin/indent/lexi.c Thu Nov 25 17:28:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lexi.c,v 1.158 2021/11/25 17:10:53 rillig Exp $ */ +/* $NetBSD: lexi.c,v 1.159 2021/11/25 17:28:13 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -43,7 +43,7 @@ static char sccsid[] = "@(#)lexi.c 8.1 ( #include <sys/cdefs.h> #if defined(__NetBSD__) -__RCSID("$NetBSD: lexi.c,v 1.158 2021/11/25 17:10:53 rillig Exp $"); +__RCSID("$NetBSD: lexi.c,v 1.159 2021/11/25 17:28:13 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $"); #endif @@ -576,100 +576,101 @@ lexi(void) *token.e = '\0'; lexer_symbol lsym; - bool unary_delim = false; /* whether the current token forces a - * following operator to be unary */ + bool next_unary; switch (token.e[-1]) { case '\n': - unary_delim = ps.next_unary; - ps.next_col_1 = true; - /* if data has been exhausted, the newline is a dummy. */ + /* if data has been exhausted, the '\n' is a dummy. */ lsym = had_eof ? lsym_eof : lsym_newline; + next_unary = ps.next_unary; + ps.next_col_1 = true; break; case '\'': case '"': lex_char_or_string(); lsym = lsym_word; + next_unary = false; break; case '(': case '[': - unary_delim = true; lsym = lsym_lparen_or_lbracket; + next_unary = true; break; case ')': case ']': lsym = lsym_rparen_or_rbracket; + next_unary = false; break; case '#': - unary_delim = ps.next_unary; lsym = lsym_preprocessing; + next_unary = ps.next_unary; break; case '?': - unary_delim = true; lsym = lsym_question; + next_unary = true; break; case ':': lsym = lsym_colon; - unary_delim = true; + next_unary = true; break; case ';': - unary_delim = true; lsym = lsym_semicolon; + next_unary = true; break; case '{': - unary_delim = true; lsym = lsym_lbrace; + next_unary = true; break; case '}': - unary_delim = true; lsym = lsym_rbrace; + next_unary = true; break; case '\f': - unary_delim = ps.next_unary; - ps.next_col_1 = true; lsym = lsym_form_feed; + next_unary = ps.next_unary; + ps.next_col_1 = true; break; case ',': - unary_delim = true; lsym = lsym_comma; + next_unary = true; break; case '.': - unary_delim = false; lsym = lsym_period; + next_unary = false; break; case '-': case '+': lsym = ps.next_unary ? lsym_unary_op : lsym_binary_op; - unary_delim = true; + next_unary = true; - if (inp_peek() == token.e[-1]) { /* ++, -- */ + if (inp_peek() == token.e[-1]) { /* '++' or '--' */ *token.e++ = inp_next(); if (ps.prev_token == lsym_word || ps.prev_token == lsym_rparen_or_rbracket) { lsym = ps.next_unary ? lsym_unary_op : lsym_postfix_op; - unary_delim = false; + next_unary = false; } - } else if (inp_peek() == '=') { /* += */ + } else if (inp_peek() == '=') { /* '+=' or '-=' */ *token.e++ = inp_next(); - } else if (inp_peek() == '>') { /* -> */ + } else if (inp_peek() == '>') { /* '->' */ *token.e++ = inp_next(); - unary_delim = false; lsym = lsym_unary_op; + next_unary = false; ps.want_blank = false; } break; @@ -682,7 +683,7 @@ lexi(void) *token.e = '\0'; } lsym = lsym_binary_op; - unary_delim = true; + next_unary = true; break; case '>': @@ -693,16 +694,16 @@ lexi(void) if (inp_peek() == '=') *token.e++ = inp_next(); lsym = ps.next_unary ? lsym_unary_op : lsym_binary_op; - unary_delim = true; + next_unary = true; break; case '*': - unary_delim = true; if (!ps.next_unary && !ps.in_parameter_declaration && !(ps.in_decl && ps.p_l_follow > 0)) { if (inp_peek() == '=') *token.e++ = inp_next(); lsym = lsym_binary_op; + next_unary = true; break; } @@ -731,13 +732,14 @@ lexi(void) } lsym = lsym_unary_op; + next_unary = true; break; default: if (token.e[-1] == '/' && (inp_peek() == '*' || inp_peek() == '/')) { *token.e++ = inp_next(); lsym = lsym_comment; - unary_delim = ps.next_unary; + next_unary = ps.next_unary; break; } @@ -746,10 +748,10 @@ lexi(void) token_add_char(inp_next()); lsym = ps.next_unary ? lsym_unary_op : lsym_binary_op; - unary_delim = true; + next_unary = true; } - ps.next_unary = unary_delim; + ps.next_unary = next_unary; check_size_token(1); *token.e = '\0';