keywords.sh revision 1.3 1 1.1 gwr #!/bin/sh
2 1.3 cgd # $NetBSD: keywords.sh,v 1.3 1996/12/16 19:53:03 cgd Exp $
3 1.1 gwr # @(#)keywords 8.2 (Berkeley) 3/19/94
4 1.1 gwr #
5 1.1 gwr # WARNING! If you change this file, re-run it!
6 1.1 gwr
7 1.1 gwr # This program requires "new" awk (or GNU awk).
8 1.1 gwr awk=${AWK:-awk}
9 1.1 gwr
10 1.1 gwr cat << _EOF_ > _keywords.t1
11 1.1 gwr add
12 1.1 gwr blackhole
13 1.1 gwr change
14 1.1 gwr cloning
15 1.1 gwr delete
16 1.1 gwr dst
17 1.1 gwr expire
18 1.1 gwr flush
19 1.1 gwr gateway
20 1.1 gwr genmask
21 1.1 gwr get
22 1.1 gwr host
23 1.1 gwr hopcount
24 1.1 gwr iface
25 1.1 gwr interface
26 1.1 gwr ifa
27 1.1 gwr ifp
28 1.1 gwr inet
29 1.1 gwr iso
30 1.1 gwr link
31 1.1 gwr llinfo
32 1.1 gwr lock
33 1.1 gwr lockrest
34 1.1 gwr mask
35 1.1 gwr monitor
36 1.1 gwr mtu
37 1.1 gwr net
38 1.1 gwr netmask
39 1.1 gwr nostatic
40 1.1 gwr osi
41 1.1 gwr proto1
42 1.1 gwr proto2
43 1.1 gwr recvpipe
44 1.1 gwr reject
45 1.1 gwr rtt
46 1.1 gwr rttvar
47 1.1 gwr sa
48 1.1 gwr sendpipe
49 1.1 gwr show
50 1.1 gwr ssthresh
51 1.1 gwr static
52 1.1 gwr x25
53 1.1 gwr xns
54 1.1 gwr xresolve
55 1.1 gwr _EOF_
56 1.1 gwr
57 1.1 gwr
58 1.1 gwr ################################################################
59 1.1 gwr # Setup
60 1.1 gwr ################################################################
61 1.1 gwr
62 1.1 gwr # This creates a stream of:
63 1.1 gwr # keyword KEYWORD
64 1.1 gwr # (lower case, upper case).
65 1.1 gwr tr a-z A-Z < _keywords.t1 |
66 1.1 gwr paste _keywords.t1 - > _keywords.t2
67 1.1 gwr
68 1.1 gwr
69 1.1 gwr ################################################################
70 1.1 gwr # Generate the h file
71 1.1 gwr ################################################################
72 1.1 gwr exec > keywords.h
73 1.1 gwr
74 1.1 gwr echo '/* $'NetBSD'$ */
75 1.1 gwr
76 1.1 gwr /* WARNING! This file was generated by keywords.sh */
77 1.1 gwr
78 1.3 cgd extern struct keytab {
79 1.1 gwr char *kt_cp;
80 1.1 gwr int kt_i;
81 1.1 gwr } keywords[];
82 1.1 gwr
83 1.1 gwr ' # defines follow
84 1.1 gwr
85 1.1 gwr $awk '{
86 1.1 gwr printf("#define\tK_%s\t%d\n", $2, NR);
87 1.1 gwr }' < _keywords.t2
88 1.1 gwr
89 1.1 gwr
90 1.1 gwr ################################################################
91 1.1 gwr # Generate the c file
92 1.1 gwr ################################################################
93 1.1 gwr exec > keywords.c
94 1.1 gwr
95 1.1 gwr echo '/* $'NetBSD'$ */
96 1.1 gwr
97 1.1 gwr /* WARNING! This file was generated by keywords.sh */
98 1.1 gwr
99 1.1 gwr #include "keywords.h"
100 1.1 gwr
101 1.1 gwr struct keytab keywords[] = {
102 1.1 gwr ' # initializers follow
103 1.1 gwr
104 1.1 gwr $awk '{
105 1.1 gwr printf("\t{\"%s\", K_%s},\n", $1, $2);
106 1.1 gwr }' < _keywords.t2
107 1.1 gwr
108 1.1 gwr echo ' {0, 0}
109 1.1 gwr };
110 1.1 gwr ' # tail
111 1.1 gwr
112 1.1 gwr
113 1.1 gwr ################################################################
114 1.1 gwr # Cleanup
115 1.1 gwr ################################################################
116 1.1 gwr
117 1.1 gwr rm -f _keywords.t1 _keywords.t2
118 1.1 gwr exit 0
119