diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2021-07-14 16:58:05 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2021-07-14 16:58:05 +0200 |
| commit | dabbeeb79356eef78528acd55e1f143ae80372f7 (patch) | |
| tree | 6cea98d09318303e9a5a54eece9d1ec328e9b931 | |
| parent | 95fffd8a7fd49637d7b6d9f25b69ac6d8c9a2fff (diff) | |
| download | busybox-w32-dabbeeb79356eef78528acd55e1f143ae80372f7.tar.gz busybox-w32-dabbeeb79356eef78528acd55e1f143ae80372f7.tar.bz2 busybox-w32-dabbeeb79356eef78528acd55e1f143ae80372f7.zip | |
awk: whitespace and debugging tweaks
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| -rw-r--r-- | editors/awk.c | 133 |
1 files changed, 66 insertions, 67 deletions
diff --git a/editors/awk.c b/editors/awk.c index 607d69487..3adbca7aa 100644 --- a/editors/awk.c +++ b/editors/awk.c | |||
| @@ -199,77 +199,78 @@ typedef struct tsplitter_s { | |||
| 199 | 199 | ||
| 200 | /* simple token classes */ | 200 | /* simple token classes */ |
| 201 | /* order and hex values are very important!!! See next_token() */ | 201 | /* order and hex values are very important!!! See next_token() */ |
| 202 | #define TC_LPAREN (1 << 0) /* ( */ | 202 | #define TC_LPAREN (1 << 0) /* ( */ |
| 203 | #define TC_RPAREN (1 << 1) /* ) */ | 203 | #define TC_RPAREN (1 << 1) /* ) */ |
| 204 | #define TC_REGEXP (1 << 2) /* /.../ */ | 204 | #define TC_REGEXP (1 << 2) /* /.../ */ |
| 205 | #define TC_OUTRDR (1 << 3) /* | > >> */ | 205 | #define TC_OUTRDR (1 << 3) /* | > >> */ |
| 206 | #define TC_UOPPOST (1 << 4) /* unary postfix operator ++ -- */ | 206 | #define TC_UOPPOST (1 << 4) /* unary postfix operator ++ -- */ |
| 207 | #define TC_UOPPRE1 (1 << 5) /* unary prefix operator ++ -- $ */ | 207 | #define TC_UOPPRE1 (1 << 5) /* unary prefix operator ++ -- $ */ |
| 208 | #define TC_BINOPX (1 << 6) /* two-opnd operator */ | 208 | #define TC_BINOPX (1 << 6) /* two-opnd operator */ |
| 209 | #define TC_IN (1 << 7) /* 'in' */ | 209 | #define TC_IN (1 << 7) /* 'in' */ |
| 210 | #define TC_COMMA (1 << 8) /* , */ | 210 | #define TC_COMMA (1 << 8) /* , */ |
| 211 | #define TC_PIPE (1 << 9) /* input redirection pipe | */ | 211 | #define TC_PIPE (1 << 9) /* input redirection pipe | */ |
| 212 | #define TC_UOPPRE2 (1 << 10) /* unary prefix operator + - ! */ | 212 | #define TC_UOPPRE2 (1 << 10) /* unary prefix operator + - ! */ |
| 213 | #define TC_ARRTERM (1 << 11) /* ] */ | 213 | #define TC_ARRTERM (1 << 11) /* ] */ |
| 214 | #define TC_LBRACE (1 << 12) /* { */ | 214 | #define TC_LBRACE (1 << 12) /* { */ |
| 215 | #define TC_RBRACE (1 << 13) /* } */ | 215 | #define TC_RBRACE (1 << 13) /* } */ |
| 216 | #define TC_SEMICOL (1 << 14) /* ; */ | 216 | #define TC_SEMICOL (1 << 14) /* ; */ |
| 217 | #define TC_NEWLINE (1 << 15) | 217 | #define TC_NEWLINE (1 << 15) |
| 218 | #define TC_STATX (1 << 16) /* ctl statement (for, next...) */ | 218 | #define TC_STATX (1 << 16) /* ctl statement (for, next...) */ |
| 219 | #define TC_WHILE (1 << 17) /* 'while' */ | 219 | #define TC_WHILE (1 << 17) /* 'while' */ |
| 220 | #define TC_ELSE (1 << 18) /* 'else' */ | 220 | #define TC_ELSE (1 << 18) /* 'else' */ |
| 221 | #define TC_BUILTIN (1 << 19) | 221 | #define TC_BUILTIN (1 << 19) |
| 222 | /* This costs ~50 bytes of code. | 222 | /* This costs ~50 bytes of code. |
| 223 | * A separate class to support deprecated "length" form. If we don't need that | 223 | * A separate class to support deprecated "length" form. If we don't need that |
| 224 | * (i.e. if we demand that only "length()" with () is valid), then TC_LENGTH | 224 | * (i.e. if we demand that only "length()" with () is valid), then TC_LENGTH |
| 225 | * can be merged with TC_BUILTIN: | 225 | * can be merged with TC_BUILTIN: |
| 226 | */ | 226 | */ |
| 227 | #define TC_LENGTH (1 << 20) /* 'length' */ | 227 | #define TC_LENGTH (1 << 20) /* 'length' */ |
| 228 | #define TC_GETLINE (1 << 21) /* 'getline' */ | 228 | #define TC_GETLINE (1 << 21) /* 'getline' */ |
| 229 | #define TC_FUNCDECL (1 << 22) /* 'function' 'func' */ | 229 | #define TC_FUNCDECL (1 << 22) /* 'function' 'func' */ |
| 230 | #define TC_BEGIN (1 << 23) /* 'BEGIN' */ | 230 | #define TC_BEGIN (1 << 23) /* 'BEGIN' */ |
| 231 | #define TC_END (1 << 24) /* 'END' */ | 231 | #define TC_END (1 << 24) /* 'END' */ |
| 232 | #define TC_EOF (1 << 25) | 232 | #define TC_EOF (1 << 25) |
| 233 | #define TC_VARIABLE (1 << 26) /* name */ | 233 | #define TC_VARIABLE (1 << 26) /* name */ |
| 234 | #define TC_ARRAY (1 << 27) /* name[ */ | 234 | #define TC_ARRAY (1 << 27) /* name[ */ |
| 235 | #define TC_FUNCTION (1 << 28) /* name( */ | 235 | #define TC_FUNCTION (1 << 28) /* name( */ |
| 236 | #define TC_STRING (1 << 29) /* "..." */ | 236 | #define TC_STRING (1 << 29) /* "..." */ |
| 237 | #define TC_NUMBER (1 << 30) | 237 | #define TC_NUMBER (1 << 30) |
| 238 | 238 | ||
| 239 | #ifndef debug_parse_print_tc | 239 | #ifndef debug_parse_print_tc |
| 240 | #define debug_parse_print_tc(n) do { \ | 240 | static void debug_parse_print_tc(uint32_t n) |
| 241 | if ((n) & TC_LPAREN ) debug_printf_parse(" LPAREN" ); \ | 241 | { |
| 242 | if ((n) & TC_RPAREN ) debug_printf_parse(" RPAREN" ); \ | 242 | if (n & TC_LPAREN ) debug_printf_parse(" LPAREN" ); |
| 243 | if ((n) & TC_REGEXP ) debug_printf_parse(" REGEXP" ); \ | 243 | if (n & TC_RPAREN ) debug_printf_parse(" RPAREN" ); |
| 244 | if ((n) & TC_OUTRDR ) debug_printf_parse(" OUTRDR" ); \ | 244 | if (n & TC_REGEXP ) debug_printf_parse(" REGEXP" ); |
| 245 | if ((n) & TC_UOPPOST ) debug_printf_parse(" UOPPOST" ); \ | 245 | if (n & TC_OUTRDR ) debug_printf_parse(" OUTRDR" ); |
| 246 | if ((n) & TC_UOPPRE1 ) debug_printf_parse(" UOPPRE1" ); \ | 246 | if (n & TC_UOPPOST ) debug_printf_parse(" UOPPOST" ); |
| 247 | if ((n) & TC_BINOPX ) debug_printf_parse(" BINOPX" ); \ | 247 | if (n & TC_UOPPRE1 ) debug_printf_parse(" UOPPRE1" ); |
| 248 | if ((n) & TC_IN ) debug_printf_parse(" IN" ); \ | 248 | if (n & TC_BINOPX ) debug_printf_parse(" BINOPX" ); |
| 249 | if ((n) & TC_COMMA ) debug_printf_parse(" COMMA" ); \ | 249 | if (n & TC_IN ) debug_printf_parse(" IN" ); |
| 250 | if ((n) & TC_PIPE ) debug_printf_parse(" PIPE" ); \ | 250 | if (n & TC_COMMA ) debug_printf_parse(" COMMA" ); |
| 251 | if ((n) & TC_UOPPRE2 ) debug_printf_parse(" UOPPRE2" ); \ | 251 | if (n & TC_PIPE ) debug_printf_parse(" PIPE" ); |
| 252 | if ((n) & TC_ARRTERM ) debug_printf_parse(" ARRTERM" ); \ | 252 | if (n & TC_UOPPRE2 ) debug_printf_parse(" UOPPRE2" ); |
| 253 | if ((n) & TC_LBRACE ) debug_printf_parse(" LBRACE" ); \ | 253 | if (n & TC_ARRTERM ) debug_printf_parse(" ARRTERM" ); |
| 254 | if ((n) & TC_RBRACE ) debug_printf_parse(" RBRACE" ); \ | 254 | if (n & TC_LBRACE ) debug_printf_parse(" LBRACE" ); |
| 255 | if ((n) & TC_SEMICOL ) debug_printf_parse(" SEMICOL" ); \ | 255 | if (n & TC_RBRACE ) debug_printf_parse(" RBRACE" ); |
| 256 | if ((n) & TC_NEWLINE ) debug_printf_parse(" NEWLINE" ); \ | 256 | if (n & TC_SEMICOL ) debug_printf_parse(" SEMICOL" ); |
| 257 | if ((n) & TC_STATX ) debug_printf_parse(" STATX" ); \ | 257 | if (n & TC_NEWLINE ) debug_printf_parse(" NEWLINE" ); |
| 258 | if ((n) & TC_WHILE ) debug_printf_parse(" WHILE" ); \ | 258 | if (n & TC_STATX ) debug_printf_parse(" STATX" ); |
| 259 | if ((n) & TC_ELSE ) debug_printf_parse(" ELSE" ); \ | 259 | if (n & TC_WHILE ) debug_printf_parse(" WHILE" ); |
| 260 | if ((n) & TC_BUILTIN ) debug_printf_parse(" BUILTIN" ); \ | 260 | if (n & TC_ELSE ) debug_printf_parse(" ELSE" ); |
| 261 | if ((n) & TC_LENGTH ) debug_printf_parse(" LENGTH" ); \ | 261 | if (n & TC_BUILTIN ) debug_printf_parse(" BUILTIN" ); |
| 262 | if ((n) & TC_GETLINE ) debug_printf_parse(" GETLINE" ); \ | 262 | if (n & TC_LENGTH ) debug_printf_parse(" LENGTH" ); |
| 263 | if ((n) & TC_FUNCDECL) debug_printf_parse(" FUNCDECL"); \ | 263 | if (n & TC_GETLINE ) debug_printf_parse(" GETLINE" ); |
| 264 | if ((n) & TC_BEGIN ) debug_printf_parse(" BEGIN" ); \ | 264 | if (n & TC_FUNCDECL) debug_printf_parse(" FUNCDECL"); |
| 265 | if ((n) & TC_END ) debug_printf_parse(" END" ); \ | 265 | if (n & TC_BEGIN ) debug_printf_parse(" BEGIN" ); |
| 266 | if ((n) & TC_EOF ) debug_printf_parse(" EOF" ); \ | 266 | if (n & TC_END ) debug_printf_parse(" END" ); |
| 267 | if ((n) & TC_VARIABLE) debug_printf_parse(" VARIABLE"); \ | 267 | if (n & TC_EOF ) debug_printf_parse(" EOF" ); |
| 268 | if ((n) & TC_ARRAY ) debug_printf_parse(" ARRAY" ); \ | 268 | if (n & TC_VARIABLE) debug_printf_parse(" VARIABLE"); |
| 269 | if ((n) & TC_FUNCTION) debug_printf_parse(" FUNCTION"); \ | 269 | if (n & TC_ARRAY ) debug_printf_parse(" ARRAY" ); |
| 270 | if ((n) & TC_STRING ) debug_printf_parse(" STRING" ); \ | 270 | if (n & TC_FUNCTION) debug_printf_parse(" FUNCTION"); |
| 271 | if ((n) & TC_NUMBER ) debug_printf_parse(" NUMBER" ); \ | 271 | if (n & TC_STRING ) debug_printf_parse(" STRING" ); |
| 272 | } while (0) | 272 | if (n & TC_NUMBER ) debug_printf_parse(" NUMBER" ); |
| 273 | } | ||
| 273 | #endif | 274 | #endif |
| 274 | 275 | ||
| 275 | /* combined token classes ("token [class] sets") */ | 276 | /* combined token classes ("token [class] sets") */ |
| @@ -417,7 +418,7 @@ static const char tokenlist[] ALIGN1 = | |||
| 417 | "\5close" "\6system" "\6fflush" "\5atan2" | 418 | "\5close" "\6system" "\6fflush" "\5atan2" |
| 418 | "\3cos" "\3exp" "\3int" "\3log" | 419 | "\3cos" "\3exp" "\3int" "\3log" |
| 419 | "\4rand" "\3sin" "\4sqrt" "\5srand" | 420 | "\4rand" "\3sin" "\4sqrt" "\5srand" |
| 420 | "\6gensub" "\4gsub" "\5index" /* "\6length" was here */ | 421 | "\6gensub" "\4gsub" "\5index" /* "\6length" was here */ |
| 421 | "\5match" "\5split" "\7sprintf" "\3sub" | 422 | "\5match" "\5split" "\7sprintf" "\3sub" |
| 422 | "\6substr" "\7systime" "\10strftime" "\6mktime" | 423 | "\6substr" "\7systime" "\10strftime" "\6mktime" |
| 423 | "\7tolower" "\7toupper" NTC | 424 | "\7tolower" "\7toupper" NTC |
| @@ -1802,7 +1803,6 @@ static void parse_program(char *p) | |||
| 1802 | } /* for (;;) */ | 1803 | } /* for (;;) */ |
| 1803 | } | 1804 | } |
| 1804 | 1805 | ||
| 1805 | |||
| 1806 | /* -------- program execution part -------- */ | 1806 | /* -------- program execution part -------- */ |
| 1807 | 1807 | ||
| 1808 | /* temporary variables allocator */ | 1808 | /* temporary variables allocator */ |
| @@ -3510,7 +3510,6 @@ static var *evaluate(node *op, var *res) | |||
| 3510 | #undef sreg | 3510 | #undef sreg |
| 3511 | } | 3511 | } |
| 3512 | 3512 | ||
| 3513 | |||
| 3514 | /* -------- main & co. -------- */ | 3513 | /* -------- main & co. -------- */ |
| 3515 | 3514 | ||
| 3516 | static int awk_exit(void) | 3515 | static int awk_exit(void) |
