summaryrefslogtreecommitdiff
path: root/vms/vms_yfix.pl
diff options
context:
space:
mode:
Diffstat (limited to 'vms/vms_yfix.pl')
-rw-r--r--vms/vms_yfix.pl70
1 files changed, 0 insertions, 70 deletions
diff --git a/vms/vms_yfix.pl b/vms/vms_yfix.pl
deleted file mode 100644
index 37fefad3cc..0000000000
--- a/vms/vms_yfix.pl
+++ /dev/null
@@ -1,70 +0,0 @@
-# This script takes the output produced from perly.y by byacc and
-# the perly.fixer shell script (i.e. the perly.c and perly.h built
-# for Unix systems) and patches them to produce copies containing
-# appropriate declarations for VMS handling of global symbols.
-#
-# If it finds that the input files are already patches for VMS,
-# it just copies the input to the output.
-#
-# Revised 20-Dec-1996 by Charles Bailey bailey@newman.upenn.edu
-
-$VERSION = '1.11';
-
-push(@ARGV,(qw[ perly.c perly.h vms/perly_c.vms vms/perly_h.vms])[@ARGV..4])
- if @ARGV < 4;
-($cinfile,$hinfile,$coutfile,$houtfile) = @ARGV;
-
-open C,$cinfile or die "Can't read $cinfile: $!\n";
-open COUT, ">$coutfile" or die "Can't create $coutfile: $!\n";
-print COUT <<EOH;
-/* Postprocessed by vms_yfix.pl $VERSION to add VMS declarations of globals */
-EOH
-while (<C>) {
- # "y.tab.c" is illegal as a VMS filename; DECC 5.2/VAX preprocessor
- # doesn't like this.
- if ( s/^#line\s+(\d+)\s+"y.tab.c"/#line $1 "y_tab.c"/ ) { 1; }
- elsif (/char \*getenv/) {
- # accomodate old VAXC's macro susbstitution pecularities
- $_ = "# ifndef getenv\n$_# endif\n";
- }
- elsif ( /getenv\("YYDEBUG"\)/ ) {
- $_ = " {\n register int saved_errno = errno;\n"
- . "#ifdef VMS\n register int saved_vaxc_errno = vaxc\$errno;\n"
- . "#else\n register int saved_vaxc_errno = 0;\n#endif\n" . $_;
- # Reset the "error" status if an optional lookup fails
- while (not /^\s+\}/) { print COUT; $_ = <C>; }
- $_ .= " else SETERRNO(saved_errno,saved_vaxc_errno);\n }\n";
- }
- else {
- # add the dEXT tag to definitions of global vars, so we'll insert
- # a globaldef when perly.c is compiled
- s/^(short|int|YYSTYPE|char \*)\s*yy/dEXT $1 yy/;
- }
- print COUT;
-}
-close C;
-close COUT;
-
-open H,$hinfile or die "Can't read $hinfile: $!\n";
-open HOUT, ">$houtfile" or die "Can't create $houtfile: $!\n";
-print HOUT <<EOH;
-/* Postprocessed by vms_yfix.pl $VERSION to add VMS declarations of globals */
-EOH
-$hfixed = 0; # keep -w happy
-while (<H>) {
- $hfixed = /globalref/ unless $hfixed; # we've already got a fixed copy
- next if /^extern YYSTYPE yylval/; # we've got a Unix version, and this
- # is what we want to replace
- print HOUT;
-}
-close H;
-
-print HOUT <<'EODECL' unless $hfixed;
-#ifndef vax11c
- extern YYSTYPE yylval;
-#else
- globalref YYSTYPE yylval;
-#endif
-EODECL
-
-close HOUT;