Module Name: src Committed By: rillig Date: Mon Oct 25 00:54:37 UTC 2021
Modified Files: src/usr.bin/indent: indent.c indent.h lexi.c parse.c pr_comment.c Log Message: indent: split type token_type into 3 separate types Previously, token_type was used for 3 different purposes: 1. symbol types from the lexer 2. symbol types on the parser stack 3. kind of control statement for 'if (expr)' and similar statements Splitting the 41 constants into separate types makes it immediately clear that the parser stack never handles comments, preprocessing lines, newlines, form feeds, the inner structure of expressions. Previously, the constant switch_expr was especially confusing since it was used for 3 different purposes: when returned from lexi, it represented the keyword 'switch', in the parser stack it represented 'switch (expr)', and it was used for a statement head as well. The only overlap between the lexer symbols and the parser symbols are '{' and '}', and the keywords 'do' and 'else'. To increase confusion, the constants of the previous token_type were in apparently random order and before 2021, they had cryptic, highly abbreviated names. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.155 -r1.156 src/usr.bin/indent/indent.c cvs rdiff -u -r1.48 -r1.49 src/usr.bin/indent/indent.h cvs rdiff -u -r1.99 -r1.100 src/usr.bin/indent/lexi.c cvs rdiff -u -r1.38 -r1.39 src/usr.bin/indent/parse.c cvs rdiff -u -r1.83 -r1.84 src/usr.bin/indent/pr_comment.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.