summaryrefslogtreecommitdiff
path: root/bin/info2src.awk
diff options
context:
space:
mode:
Diffstat (limited to 'bin/info2src.awk')
-rwxr-xr-xbin/info2src.awk630
1 files changed, 0 insertions, 630 deletions
diff --git a/bin/info2src.awk b/bin/info2src.awk
deleted file mode 100755
index 1a8b19ae964..00000000000
--- a/bin/info2src.awk
+++ /dev/null
@@ -1,630 +0,0 @@
-# =============================================================================
-#
-# = DESCRIPTION
-# Awk script to convert classinfo description file to src stubs.
-#
-# = AUTHOR(S)
-# Graham Dumpleton
-# K. Dorn
-#
-# = COPYRIGHT
-# Copyright 1991 OTC LIMITED
-#
-# =============================================================================
-
-BEGIN {
-# separator = "/* ------------------------------"\
-# "------------------------------------------- */"
- separator = ""
- csa_method_trailer=sprintf("\n/*] END Method */\n\n")
- FS="\n"; RS=""
- firsttime = "first"
- templ=""
- blank=" "
- classfunc = ""
- rettyp = ""
- classname=""
- classtitle=""
- filedate=""
- filename=""
- filename1=""
- author=""
- classdescription=""
- methoddescription=""
-
-# csaprintheader=1
-
-# accpubl = "off"
-# accprot = "off"
-# accpriv = "off"
-}
-#
-# variable von awk sind nicht in begin zuweisbar!
-#
-{
- accmergecxxhxx = merge
- accloop = loop
- accpubl = publ
- accprot = prot
- accpriv = priv
-#printf("\nmerge=%s loop=%s csaprintheader=%s firsttime=%s\n",merge,loop,csaprintheader,firsttime);
-}
-
-function csa_print_compilation_header_alt()
-{
- if ( length( firsttime ) > 3 )
- {
-
- csa_compilation_header=sprintf("\n/*[ Compilation unit "\
- "----------------------------------------------------------\n"\
- "\n"\
- " Component : CSA - OSC\n"\
- "\n"\
- " Name : %s.[Ci]\n"\
- "\n"\
- " Author : %s\n"\
- "\n"\
- " Language : C++\n"\
- "\n"\
- " Creation Date : %s\n"\
- "\n"\
- " Test State : %%Q%%\n"\
- "\n"\
- " Description : %s\n"\
- "\n"\
- "\n"\
- " Copyright (C) Siemens AG 1995 All Rights Reserved\n"\
- "\n"\
- "--------------------------------------"\
- "---------------------------------------*/\n"\
- "/*] END */\n"\
- "#pragma ident \"%%Z%% %%M%% %%I%% (%%G%%), %%Y%% %%Q%%:"\
- " implementation file for class \n"\
- "%s\"\n"\
- "\n"\
- "#undef __STDC__\n"\
- "#undef __GNUG__\n"\
- "\n",filename1,author,filedate,classdescription,names[$2]);
- printf("%s",csa_compilation_header);
- firsttime = ""
- }
-}
-
-function csa_print_compilation_header()
-{
- if ((csaprintheader == "on" && merge != "on") || (merge == "on" && loop == "1"))
- {
- if ( length( firsttime ) > 3 )
- {
- FS=" "; RS="\n"
- read_fvmecxx_file()
- read_fvcocxx_file()
- FS="\n"; RS=""
-
- #csa_compilation_header=sprintf(vcocxx,filename1,author,filedate,classdescription,names[$2]);
-csa_compilation_header=sprintf(vcocxx,filename1,author,filedate,classdescription,classname);
- printf("%s",csa_compilation_header);
- firsttime = ""
- }
- }
- else if (csaprintheader == "on" && merge == "on" && loop != "1" && length( firsttime ) > 3)
- {
- FS=" "; RS="\n"
- read_fvmecxx_file()
- read_fvcocxx_file()
- FS="\n"; RS=""
- firsttime = ""
- }
-}
-
-function csa_print_method_header_alt()
-{
- prrettyp = ""
- if (rettyp != "")
- prrettyp=sprintf("type = %s",rettyp);
- else
- prrettyp=sprintf("-");
-
- csa_method_header=sprintf("\n/*[ Method ---------------------"\
- "-------------------------------------------\n"\
- "\n"\
- " Name : %s\n"\
- "\n"\
- " Description : %s\n"\
- "\n"\
- " Return : %s\n"\
- "\n"\
- "--------------------------------------------"\
- "------------------------------*/\n\n",classfunc,methoddescription,prrettyp)
- printf("%s",csa_method_header);
-}
-
-function csa_print_method_header()
-{
- if (csaprintheader == "on")
- {
- prrettyp = ""
- if (rettyp != "")
- prrettyp=sprintf("type = %s",rettyp);
- else
- prrettyp=sprintf("-");
-
- csa_method_header=sprintf(vmecxx,classfunc,methoddescription,prrettyp)
- printf("%s",csa_method_header);
- }
-}
-
-function csa_print_method_trailer()
-{
- if (csaprintheader == "on")
- {
- csa_method_trailer=sprintf("/*] END Method */\n")
- printf("\n%s\n",csa_method_trailer);
- }
-}
-
-function csa_get_method_description()
-{
- n = split( $0, line, "\n" )
- methoddescription=""
- for ( i=5; i<=n; i++ )
- {
- len = length(line[i])
- comm = substr(line[i],4,len)
- methoddescription = methoddescription comm "\n "
- }
-}
-
-
-function read_fvmecxx_file()
-{
- vmecxx1 = "\n"
- while ( getline < fvmecxx > 0 )
- vmecxx1 = vmecxx1 $0 "\n"
- vmecxx = vmecxx1
-}
-
-function read_fvcocxx_file()
-{
- vcocxx1 = "\n"
- while ( getline < fvcocxx > 0 )
- vcocxx1 = vcocxx1 $0 "\n"
- vcocxx = vcocxx1
-}
-
-
-#
-# hier laueft er durch mit allen zeilen
-#
-
-$1 ~ /CLASS2INFO/ {
- filedate=$2
- filename=$3
- len=length($3)
- filename1=substr($3,1,(len-2))
-}
-
-$1 ~ /INFO/ && $2 ~ /GLOBAL/ && $3 ~ /LIBRARY/ {
- library=$4
- len=length(library)
- library=substr(library,4,len)
- if ( merge != "on")
- printf( "#include <%s/%s>\n", library, filename )
- else
- if ( loop == "1")
- printf( "#include <%s/%s>\n", library, filename )
-}
-
-$1 ~ /INFO/ && $2 ~ /GLOBAL/ && $3 ~ /AUTHOR/ {
- l=length($4)
- author=substr($4,4,l)
-}
-
-$1 ~ /INFO/ && $2 ~ /HDR/ && $3 ~ /TITLE/ {
- classname=$4
- classtitle=$5
-}
-
-$1 ~ /INFO/ && $2 ~ /HDR/ && $3 ~ /DESCRIPTION/ {
- n = split( $0, line, "\n" )
- classdescription=""
- for ( i=5; i<=n; i++ )
- {
- len = length(line[i])
- comm = substr(line[i],4,len)
- classdescription = classdescription comm "\n "
- }
-# if (csaprintheader == "on")
-# csa_print_compilation_header()
-}
-
-$1 ~ /INCLUDE/ {
- if ( merge != "on")
- printf( "#include %s\n", $2)
-# else
-# if ( loop == "1")
-# printf( "#include %s\n", $2)
-}
-
-#
-# neu mit nested classes
-#
-$1 ~ /(CLASS|STRUCT|UNION)/ {
- nestedclass = ""
- nested = ""
- templnested = ""
- containerclass = ""
- if ( $2 ~ "(::|<)" )
- {
- len = length($2)
- match( $2, "(::|<).*$")
- newclass = substr( $2,RSTART+2,RLENGTH)
- thisclass = substr( $2,1,RSTART-1)
- if (thisclass == classext)
- {
- nestedclass = newclass
- nested = "on"
- containerclass = thisclass
- class = newclass $3 # 23.10.95
- }
- else
- nestedclass = ""
- }
- else
- {
- names[$2] = $2
- }
-}
-
-#
-# neu mit nested classes
-#
-$1 ~ /TEMPLATE/ {
- templnestedclass = ""
- nested = ""
- templnested = ""
- if ( $2 ~ /(class|union|struct)/ && $3 ~ "(::|<)" )
- {
- len = length($3)
- match( $3, "(::|<).*$")
- templnewclass = substr( $3,RSTART+2,RLENGTH)
- templthisclass = substr( $3,1,RSTART-1)
- if (templthisclass == classext)
- {
- templnestedclass = templnewclass
- nestedtempl = $4
-#printf("\n------nestedtempl=%s----\n",nestedtempl);
- class = templnewclass $4
- nestedtemplclass = templnewclass $4
- nested = "on"
- templnested = "on"
- containerclass = templthisclass
- }
- else
- templnestedclass = ""
- }
- else
- {
- class = $3 $4
- templclass = $3 $4
- args[$3] = $4
- templ=$4
- # This needs extra work.
- #
- # macht aus: <class hans,class otto> folgendes:
- # <hans,otto>
-
- sub( "<[\t ]*(class)[\t ]+", "<", class )
- sub( ",[\t ]*(class)[\t ]+", ",", class )
-
- names[$3] = class
- }
-}
-
-#
-# neu nested classes, achtung: nur level1 moeglich, da keine rekursion!
-#
-$1 ~ /END/ && $2 == class{
- nested= ""
- templnested= ""
-}
-
-#
-# alt ohne nested classes
-#
-#$1 ~ /(CLASS|STRUCT|UNION)/ {
-# names[$2] = $2
-#}
-
-#
-# alt ohne nested classes
-#
-#$1 ~ /TEMPLATE/ {
-# class = $3 $4
-# templclass = $3 $4
-# args[$3] = $4
-# templ=$4
-# # This needs extra work.
-#
-# macht aus: <class hans,class otto> folgendes:
-# <hans,otto>
-#
-# sub( "<[\t ]*(class)[\t ]+", "<", class )
-# sub( ",[\t ]*(class)[\t ]+", ",", class )
-
-# names[$3] = class
-#}
-
-
-$1 ~ /FUNC/ {
- prototype = $4
- class = $2
- hiding = $3
- if ( (((hiding == "private") && (accpriv == "on") ) || ((hiding == "public") && (accpubl == "on") ) || ((hiding == "protected") && (accprot == "on") )) && ((mode != "single") || ((mode == "single") && ((classext == class) || (class == nestedclass) || (class == templnestedclass))) ))
- {
-# printf("\nclassext=%s\n",classext);
-# printf("\nclass =%s\n",class);
-# printf("\nhiding=%s\n",hiding);
- csa_print_compilation_header()
- # Filter out inline functions.
- flinline=0
- if ( prototype ~ /^[\t ]*inline[\t ]+/ )
- {
- flinline=1
-#printf("\n######inline####\n");
-# next
- sub( "^[\t ]*inline[\t ]+", "", prototype )
- }
- # Filter out pure virtual functions: wenn prototype "= 0 ;" enthaelt!
- flpurevirt=0
- if ( prototype ~ /[\t ]*=[\t ]*0[\t ]*;[\t ]*$/ )
- {
- flpurevirt=1
- next
- }
- # Strip out unwanted bits "static oder virtual".
- flstatic=0
- if ( prototype ~ /^[\t ]*static[\t ]+/ )
- {
- flstatic=1
- }
- flvirtual=0
- if ( prototype ~ /^[\t ]*virtual[\t ]+/ )
- {
- flvirtual=1
- }
- sub( "^[\t ]*(static|virtual)[\t ]+", "", prototype )
-# suchstring ersetzen src/zielstring
- # Strip out unwanted bits ";
- # blank und tab" am ende der methode.
- sub( ";[\t ]*$", "", prototype )
- # Strip out unwanted bits : 1. default werte der methode aus class def und comma.
-# gsub( "[\t ]*\\(=[^(=][^,=]*,", ",", prototype )
-# gsub( "[\t ]*\\(=[^(=][^,=]*\\)", ")", prototype )
-
-#neu
- if ( prototype !~ /[\t \&\*]*operator[^a-zA-Z0-9]+/ )
- {
-#neu
- # Strip out unwanted bits : 1. default werte der methode aus class def und comma, aber nicht bei
- # operator funs , wegen deren "=" !
- gsub( "[\t ]*=[^(=][^,=]*,", ",", prototype )
- gsub( "[\t ]*=[^(=][^,=]*\\)", ")", prototype )
-#neu
- }
-#neu
-
-#printf("\nprototype=|%s|\n",prototype);
-
- # Put in class name.
- floperator=0
- if ( prototype ~ /[\t \&\*]*operator[^a-zA-Z0-9]+/ )
- {
- #
- # operator funcs
- #
- floperator=1
-#printf("\noperatorfunc|%s|\n",prototype);
- match( prototype, "[^\t \&\*]*operator" )
- typoper = substr( prototype, 1,RSTART-1)
-#printf("\ntypoper=|%s|\n",typoper);
- wholelen=length(prototype)
- restoper = substr( prototype, RSTART, wholelen)
-#printf("\nrestoper=|%s|\n",restoper);
- len=length(restoper)
- restoper1 = substr( restoper, 9, len )
- match( restoper1, "[^\t ].*$" ) # trimstring fuer anf des feldes
- restoper2 = substr( restoper1, RSTART, RLENGTH )
-#printf("\nrestoper2=|%s|\n",restoper2);
- len=length(restoper2) # pvar++
- restoper3 = substr( restoper2,2, len )
-#printf("\nrestoper3=|%s|\n",restoper3);
- match( restoper3, "\\(.*$" ) # gebe naechsten string der
- # mit ( anfaengt bis zum ende
- decl = substr( restoper3, RSTART, RLENGTH )
-#printf("\nparas=|%s| s=%d l=%d\n",decl,RSTART,RLENGTH);
- parstart=index(restoper,decl)
- restoperfun=substr(restoper,1,parstart-1)
-#printf("\nrestoperfun=|%s|\n",restoperfun);
-
-#neu
- # Strip out unwanted bits : 1. default werte der methode aus class def und comma.
- gsub( "[\t ]*=[^(=][^,=]*,", ",", decl )
- gsub( "[\t ]*=[^(=][^,=]*\\)", ")", decl )
- restoper=restoperfun decl
-#printf("\nneu restoper=|%s|\n",restoper);
-#neu
-
-
-if (nested == "on" )
- prototype=typoper containerclass "::" class "::" restoper
-else
- prototype=typoper class "::" restoper
-#printf("\nprototype=|%s|\n",prototype);
-
-if (nested == "on" )
- classfunc = containerclass "::" class "::" restoperfun
-else
- classfunc = class "::" restoperfun
-#printf("\nclassfunc=|%s|\n",classfunc);
- rettyp = typoper
-#printf("\nrettyp=|%s|\n",rettyp);
- funcname = classfunc
-#printf("\n7|%s|\n",funcname);
- }
- else
- {
- #
- # other functions
- #
- match( prototype, "[^\t ]*\\(.*$" )
- decl = substr( prototype, RSTART, RLENGTH )
-
-#-----neu start, damit 0-n blanks zwischen "func-name" und "(" stehen koennen!
- match( decl, "\\(.*$" )
- decl = substr( decl, RSTART, RLENGTH )
- parstart=index(prototype,decl)
- typfuncn=substr(prototype,1,parstart-1)
- sub( "[\t ]*$", "", typfuncn )
- prototype = ""
- prototype = typfuncn " " decl
-#printf("\nprototypeneu=|%s|\n",prototype);
-#printf("\ntypfuncnneu=|%s|\n",typfuncn);
-#printf("\ndeclneu=|%s|\n",decl);
-
-
- match( prototype, "[^\t ]*\\(.*$" )
- decl = substr( prototype, RSTART, RLENGTH )
-#-----neu end
-
-#printf("\ndecl=|%s|\n",decl);
- parstart=index(prototype,decl)
- typfuncn=substr(prototype,1,parstart-1)
-
- nitems=split(typfuncn,typfuncitems,"[\t \&\*]")
- sub( "[\t ]*$", "", typfuncn )
- funcn = typfuncitems[nitems-1]
- funstart=index(typfuncn,funcn)
- typ=substr(typfuncn,1,funstart-1)
-#printf("\ntypfuncn=|%s|\n",typfuncn);
-#printf("\nfuncn=|%s|\n",funcn);
-#printf("\ntyp=|%s|\n",typ);
-if (nested == "on" )
- sub( "^", typ containerclass "::" class "::" funcn, decl )
-else
- sub( "^", typ class "::" funcn, decl )
- prototype=decl
-#printf("\nprototype=|%s|\n",prototype);
- classfunc = ""
-if (nested == "on" )
- sub( "^", containerclass "::" class "::" funcn, classfunc )
-else
- sub( "^", class "::" funcn, classfunc )
-#printf("\nclassfunc=|%s|\n",classfunc);
- rettyp = ""
- sub( "^", typ, rettyp )
-#printf("\nrettyp=|%s|\n",rettyp);
-#printf("\n6|%s|\n",prototype);
- match( prototype, "^[^(]*\\(" )
- funcname = substr( prototype, RSTART, RLENGTH )
-#printf("\n7|%s|\n",funcname);
- }
-
- # Output it.
-
- if (firsttime == "")
- {
- csa_get_method_description()
-# if (csaprintheader == "on")
- csa_print_method_header()
-
- if ( length(prototype) > 75 )
- {
- match( prototype, "^[^(]*\\(" )
- funcname = substr( prototype, RSTART, RLENGTH )
- if ( prototype ~ "^[^(]*\\(\\)[\t ]*\\(" )
- {
- funcname = funcname ")("
- sub( "^[^(]*\\(\\)[\t ]*\\(", "", prototype )
- }
- else
- sub( "^[^(]*\\(", "", prototype )
-
- if ( templclass ~ "<" && templnested == "" && nested == "")
- {
- printf( "template%s\n", templ)
- }
- if ( templnested == "on")
- {
- printf( "template%s\n", nestedtempl )
- }
- printf( "%s\n", funcname )
-
- match( prototype, "\\)([\t ]*const)?[\t ]*$" )
- functail = substr( prototype, RSTART, RLENGTH )
- sub( "\\)([\t ]* const)?[\t ]*$", "", prototype )
- narg = 0
- while ( match( prototype, "[^<>,#]*<[^<>]*>" ) )
- {
- narg++
- arg = substr( prototype, RSTART, RLENGTH )
- sub( "[^<>,#]*<[^<>]*>", "#" narg, prototype )
- fargs["#" narg] = arg
- # Need the following to stop resubstitution of the pattern matched
- # back into the string.
- gsub( "&", "\\\\&", fargs["#" narg] )
- }
- numargs = split( prototype, args, "," )
- for ( m=1; m<=numargs; m++ )
- {
- while ( match( args[m], "#[0-9]+" ) )
- {
- arg = substr( args[m], RSTART, RLENGTH )
- sub( arg, fargs[arg], args[m] )
- }
- sub( "[\t ]*", "", args[m] )
- printf( " %s", args[m] )
- if ( m == numargs )
- {
- print( "" )
- }
- else
- print( "," )
- }
- if (flinline == 1)
- printf("/* inline */\n");
-# printf( "%s\n%s{\n}\n\n%s\n", functail,csa_method_trailer, separator )
- printf( "%s\n", functail)
-# csa_print_method_trailer()
-# printf( "{\n}\n\n%s\n", separator )
- }
- else
- {
- if (flinline == 1)
- printf("/* inline */\n");
-
- if ( templclass ~ "<" && templnested == "" && nested == "")
- {
- printf( "template%s\n", templ )
- }
- if ( templnested == "on")
- {
- printf( "template%s\n", nestedtempl )
- }
-# printf( "%s\n%s{\n}\n\n%s\n", prototype,csa_method_trailer, separator )
- printf( "%s\n", prototype)
-# csa_print_method_trailer()
-# printf( "{\n}\n\n%s\n", separator )
- }
- csa_print_method_trailer()
- if (rettyp != "" && rettyp != "void " && rettyp != "void")
- printf( "{\n\treturn((%s)0);\n}\n\n%s\n",rettyp, separator )
- else
- printf( "{\n}\n\n%s\n", separator )
-
- }
- # end of firsttime
- }
- # end of if
-}
-#end of FUNC