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