[BACK]Return to devlist2h.awk CVS log [TXT][DIR] Up to [local] / sys / arch / hppa / dev

Annotation of sys/arch/hppa/dev/devlist2h.awk, Revision 1.1.1.1

1.1       nbrk        1: #      $OpenBSD: devlist2h.awk,v 1.6 2004/04/07 18:24:19 mickey Exp $
                      2:
                      3: #
                      4: # Copyright (c) 1998-2003 Michael Shalayeff
                      5: # All rights reserved.
                      6: #
                      7: # Redistribution and use in source and binary forms, with or without
                      8: # modification, are permitted provided that the following conditions
                      9: # are met:
                     10: # 1. Redistributions of source code must retain the above copyright
                     11: #    notice, this list of conditions and the following disclaimer.
                     12: # 2. Redistributions in binary form must reproduce the above copyright
                     13: #    notice, this list of conditions and the following disclaimer in the
                     14: #    documentation and/or other materials provided with the distribution.
                     15: #
                     16: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     17: # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     18: # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     19: # IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT,
                     20: # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
                     21: # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
                     22: # SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     23: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
                     24: # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
                     25: # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
                     26: # THE POSSIBILITY OF SUCH DAMAGE.
                     27: #
                     28:
                     29: BEGIN  {
                     30:        ncpu = 0;
                     31:        cpuh="cpudevs.h";
                     32:        cpud="cpudevs_data.h";
                     33:        SUBSEP = "_";
                     34: }
                     35:
                     36: /^[ \t]*$/     {next}
                     37:
                     38: /^[ \t]*\/\*/  {busted++}
                     39:
                     40: /^[ \t]*#/     {next}
                     41:
                     42: busted {
                     43:        cp = match($0, /\*\//);
                     44:        if(!cp) {
                     45:                next;
                     46:        } else if (cp + 1 == length($0)) {
                     47:                busted = 0;
                     48:                next;
                     49:        } else {
                     50:                sub(/.*\*\//, "");
                     51:                busted = 0;
                     52:        }
                     53: }
                     54:
                     55: # first line is rcsid, beware
                     56: NR == 1        {
                     57:        VERSION = $0;
                     58:        gsub("\\$", "", VERSION);
                     59:
                     60:        printf("/*\n * THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.\n" \
                     61:               " * generated from:\n *\t%s\n */\n\n", VERSION) > cpud;
                     62:        printf("/*\n * THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.\n" \
                     63:               " * generated from:\n *\t%s\n */\n\n", VERSION) > cpuh;
                     64: }
                     65:
                     66: $1 == "type"   {
                     67:        printf("#define\tHPPA_TYPE_%s\t%s\n", toupper($2), $3) > cpuh;
                     68:        types[tolower($2)] = toupper($2);
                     69:        next;
                     70: }
                     71:
                     72: NR > 1 {
                     73:        if (tolower($1) in types) {
                     74:                printf("#define\tHPPA_%s_%s\t%s\n", toupper($1),
                     75:                       toupper($2), $3) > cpuh;
                     76:                printf("{HPPA_TYPE_%s,\tHPPA_%s_%s,\t\"", toupper($1),
                     77:                       toupper($1), toupper($2), $3) > cpud;
                     78:                f = 4;
                     79:                while (f <= NF) {
                     80:                        sub(/[ \t]*/, "", $f);
                     81:                        ep = match($f, /\*\//);
                     82:                        if (busted && !ep) {
                     83:                                f++;
                     84:                                continue;
                     85:                        }
                     86:                        if (match($f, /\/\*/)) {
                     87:                                if (ep) {
                     88:                                        sub(/\/\*/, "", $f);
                     89:                                } else {
                     90:                                        sub(/\/\*.*$/, "", $f);
                     91:                                        busted++;
                     92:                                }
                     93:                        }
                     94:                        if (ep) {
                     95:                                gsub(/^.*\*\//, "", $f);
                     96:                                busted = 0;
                     97:                        }
                     98:                        if (length($f)) {
                     99:                                if (f > 4)
                    100:                                        printf (" ") > cpud;
                    101:                                printf ("%s", $f) > cpud;
                    102:                        }
                    103:                        f++;
                    104:                }
                    105:                printf("\" },\n") > cpud;
                    106:        } else {
                    107:                printf("WHA at line %d\n", NR);
                    108:                exit(1);
                    109:        }
                    110: }
                    111:
                    112: END    {
                    113:        if (busted) {
                    114:                print("unterminated comment at the EOF\n");
                    115:                exit(1);
                    116:        }
                    117:        printf("{ -1 }\n") > cpud;
                    118: }
                    119:

CVSweb