Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/indent indent: for the token types, use enum instead...



details:   https://anonhg.NetBSD.org/src/rev/464c9f8b5441
branches:  trunk
changeset: 960071:464c9f8b5441
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sun Mar 07 10:56:18 2021 +0000

description:
indent: for the token types, use enum instead of #define

This makes it easier to step through the code in a debugger.

No functional change.

diffstat:

 usr.bin/indent/Makefile       |   4 +-
 usr.bin/indent/indent.c       |  17 +++++---
 usr.bin/indent/indent.h       |   8 ++--
 usr.bin/indent/indent_codes.h |  79 ++++++++++++++++++++++--------------------
 usr.bin/indent/indent_globs.h |   6 +-
 usr.bin/indent/lexi.c         |  10 ++--
 usr.bin/indent/parse.c        |   4 +-
 7 files changed, 68 insertions(+), 60 deletions(-)

diffs (284 lines):

diff -r abff1e288c8b -r 464c9f8b5441 usr.bin/indent/Makefile
--- a/usr.bin/indent/Makefile   Sun Mar 07 10:42:48 2021 +0000
+++ b/usr.bin/indent/Makefile   Sun Mar 07 10:56:18 2021 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.7 2019/04/04 15:22:13 kamil Exp $
+#      $NetBSD: Makefile,v 1.8 2021/03/07 10:56:18 rillig Exp $
 #      from: @(#)Makefile      8.1 (Berkeley) 6/6/93
 
 PROG=  indent
@@ -6,4 +6,6 @@
 
 COPTS.io.c += -Wno-error=format-nonliteral
 
+LINTFLAGS+=    -e
+
 .include <bsd.prog.mk>
diff -r abff1e288c8b -r 464c9f8b5441 usr.bin/indent/indent.c
--- a/usr.bin/indent/indent.c   Sun Mar 07 10:42:48 2021 +0000
+++ b/usr.bin/indent/indent.c   Sun Mar 07 10:56:18 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: indent.c,v 1.29 2021/03/07 10:42:48 rillig Exp $       */
+/*     $NetBSD: indent.c,v 1.30 2021/03/07 10:56:18 rillig Exp $       */
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -46,7 +46,7 @@
 #include <sys/cdefs.h>
 #ifndef lint
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: indent.c,v 1.29 2021/03/07 10:42:48 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.30 2021/03/07 10:56:18 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $");
 #endif
@@ -143,8 +143,8 @@
     int         dec_ind;       /* current indentation for declarations */
     int         di_stack[20];  /* a stack of structure indentation levels */
     int         force_nl;      /* when true, code must be broken */
-    int         hd_type = 0;   /* used to store type of stmt for if (...),
-                                * for (...), etc */
+    token_type  hd_type = end_of_file; /* used to store type of stmt
+                                * for if (...), for (...), etc */
     int                i;              /* local loop counter */
     int         scase;         /* set to true when we see a case, so we will
                                 * know what to do with the following colon */
@@ -155,7 +155,7 @@
                                 * construct */
     const char *t_ptr;         /* used for copying tokens */
     int                tabs_to_var;    /* true if using tabs to indent to var name */
-    int         type_code;     /* the type of token, returned by lexi */
+    token_type type_code;      /* returned by lexi */
 
     int         last_else = 0; /* true iff last keyword was an else */
     const char *profile_name = NULL;
@@ -505,7 +505,7 @@
             * We must make this check, just in case there was an unexpected
             * EOF.
             */
-           if (type_code != 0) {
+           if (type_code != end_of_file) {
                /*
                 * The only intended purpose of calling lexi() below is to
                 * categorize the next token in order to decide whether to
@@ -546,7 +546,7 @@
        }                       /* end of while (search_brace) */
        last_else = 0;
 check_type:
-       if (type_code == 0) {   /* we got eof */
+       if (type_code == end_of_file) { /* we got eof */
            if (s_lab != e_lab || s_code != e_code
                    || s_com != e_com)  /* must dump end of line */
                dump_line();
@@ -1274,6 +1274,9 @@
        case comment:           /* we have gotten a / followed by * this is a biggie */
            pr_comment();
            break;
+
+       default:
+           break;
        }                       /* end of big switch stmt */
 
        *e_code = '\0';         /* make sure code section is null terminated */
diff -r abff1e288c8b -r 464c9f8b5441 usr.bin/indent/indent.h
--- a/usr.bin/indent/indent.h   Sun Mar 07 10:42:48 2021 +0000
+++ b/usr.bin/indent/indent.h   Sun Mar 07 10:56:18 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: indent.h,v 1.3 2021/03/07 10:42:48 rillig Exp $        */
+/*     $NetBSD: indent.h,v 1.4 2021/03/07 10:56:18 rillig Exp $        */
 
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
@@ -30,7 +30,7 @@
 
 #if 0
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: indent.h,v 1.3 2021/03/07 10:42:48 rillig Exp $");
+__RCSID("$NetBSD: indent.h,v 1.4 2021/03/07 10:56:18 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/indent.h 336333 2018-07-16 05:46:50Z pstef $");
 #endif
@@ -50,11 +50,11 @@
 int    count_spaces(int, char *);
 int    count_spaces_until(int, char *, char *);
 void   init_constant_tt(void);
-int    lexi(struct parser_state *);
+token_type lexi(struct parser_state *);
 void   diag(int, const char *, ...) __printflike(2, 3);
 void   dump_line(void);
 void   fill_buffer(void);
-void   parse(int);
+void   parse(token_type);
 void   pr_comment(void);
 void   set_defaults(void);
 void   set_option(char *);
diff -r abff1e288c8b -r 464c9f8b5441 usr.bin/indent/indent_codes.h
--- a/usr.bin/indent/indent_codes.h     Sun Mar 07 10:42:48 2021 +0000
+++ b/usr.bin/indent/indent_codes.h     Sun Mar 07 10:56:18 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: indent_codes.h,v 1.6 2019/04/04 15:22:13 kamil Exp $   */
+/*     $NetBSD: indent_codes.h,v 1.7 2021/03/07 10:56:18 rillig Exp $  */
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -40,40 +40,43 @@
  * $FreeBSD: head/usr.bin/indent/indent_codes.h 334564 2018-06-03 16:21:15Z pstef $
  */
 
-#define newline                1
-#define lparen         2
-#define rparen         3
-#define unary_op       4
-#define binary_op      5
-#define postop         6
-#define question       7
-#define casestmt       8
-#define colon          9
-#define semicolon      10
-#define lbrace         11
-#define rbrace         12
-#define ident          13
-#define comma          14
-#define comment                15
-#define swstmt         16
-#define preesc         17
-#define form_feed      18
-#define decl           19
-#define sp_paren       20
-#define sp_nparen      21
-#define ifstmt         22
-#define whilestmt      23
-#define forstmt                24
-#define stmt           25
-#define stmtl          26
-#define elselit                27
-#define dolit          28
-#define dohead         29
-#define ifhead         30
-#define elsehead       31
-#define period         32
-#define strpfx         33
-#define storage                34
-#define funcname       35
-#define type_def       36
-#define structure      37
+typedef enum token_type {
+    end_of_file,
+    newline,
+    lparen,
+    rparen,
+    unary_op,
+    binary_op,
+    postop,
+    question,
+    casestmt,
+    colon,
+    semicolon,
+    lbrace,
+    rbrace,
+    ident,
+    comma,
+    comment,
+    swstmt,
+    preesc,
+    form_feed,
+    decl,
+    sp_paren,
+    sp_nparen,
+    ifstmt,
+    whilestmt,
+    forstmt,
+    stmt,
+    stmtl,
+    elselit,
+    dolit,
+    dohead,
+    ifhead,
+    elsehead,
+    period,
+    strpfx,
+    storage,
+    funcname,
+    type_def,
+    structure
+} token_type;
diff -r abff1e288c8b -r 464c9f8b5441 usr.bin/indent/indent_globs.h
--- a/usr.bin/indent/indent_globs.h     Sun Mar 07 10:42:48 2021 +0000
+++ b/usr.bin/indent/indent_globs.h     Sun Mar 07 10:56:18 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: indent_globs.h,v 1.12 2020/04/23 00:17:34 joerg Exp $  */
+/*     $NetBSD: indent_globs.h,v 1.13 2021/03/07 10:56:18 rillig Exp $ */
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -239,8 +239,8 @@
 #define        STACKSIZE 256
 
 extern struct parser_state {
-    int         last_token;
-    int         p_stack[STACKSIZE];    /* this is the parsers stack */
+    token_type  last_token;
+    token_type p_stack[STACKSIZE];     /* this is the parsers stack */
     int         il[STACKSIZE]; /* this stack stores indentation levels */
     float       cstk[STACKSIZE];/* used to store case stmt indentation levels */
     int         box_com;       /* set to true when we are in a "boxed"
diff -r abff1e288c8b -r 464c9f8b5441 usr.bin/indent/lexi.c
--- a/usr.bin/indent/lexi.c     Sun Mar 07 10:42:48 2021 +0000
+++ b/usr.bin/indent/lexi.c     Sun Mar 07 10:56:18 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lexi.c,v 1.18 2021/03/07 10:42:48 rillig Exp $ */
+/*     $NetBSD: lexi.c,v 1.19 2021/03/07 10:56:18 rillig Exp $ */
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -46,7 +46,7 @@
 #include <sys/cdefs.h>
 #ifndef lint
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: lexi.c,v 1.18 2021/03/07 10:42:48 rillig Exp $");
+__RCSID("$NetBSD: lexi.c,v 1.19 2021/03/07 10:56:18 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $");
 #endif
@@ -176,12 +176,12 @@
     return (strcmp(e1, *(const char * const *)e2));
 }
 
-int
+token_type
 lexi(struct parser_state *state)
 {
     int         unary_delim;   /* this is set to 1 if the current token
                                 * forces a following operator to be unary */
-    int         code;          /* internal code to be returned */
+    token_type  code;          /* internal code to be returned */
     char        qchar;         /* the delimiter character for a string */
 
     e_token = s_token;         /* point to start of place to save token */
@@ -376,7 +376,7 @@
     case '\n':
        unary_delim = state->last_u_d;
        state->last_nl = true;  /* remember that we just had a newline */
-       code = (had_eof ? 0 : newline);
+       code = (had_eof ? end_of_file : newline);
 
        /*
         * if data has been exhausted, the newline is a dummy, and we should
diff -r abff1e288c8b -r 464c9f8b5441 usr.bin/indent/parse.c
--- a/usr.bin/indent/parse.c    Sun Mar 07 10:42:48 2021 +0000
+++ b/usr.bin/indent/parse.c    Sun Mar 07 10:56:18 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: parse.c,v 1.12 2021/03/07 10:42:48 rillig Exp $        */
+/*     $NetBSD: parse.c,v 1.13 2021/03/07 10:56:18 rillig Exp $        */
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -60,7 +60,7 @@
 static void reduce(void);
 
 void
-parse(int tk) /* tk: the code for the construct scanned */
+parse(token_type tk) /* tk: the code for the construct scanned */
 {
     int         i;
 



Home | Main Index | Thread Index | Old Index