Home | History | Annotate | Line # | Download | only in route
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