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