summaryrefslogtreecommitdiffhomepage
path: root/contrib/zlib/zlib2ansi
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2024-03-02 22:57:02 +0100
committerAki <please@ignore.pl>2024-03-03 00:59:45 +0100
commitca18c5b1b5004ffa88b6b3b85cd038d1217c09c6 (patch)
tree1ba5a8734c96f892322cd65af7cf33041ba4cb68 /contrib/zlib/zlib2ansi
parente70158ea57302e2fa2d588b67fc8dc18265192eb (diff)
downloadstarshatter-ca18c5b1b5004ffa88b6b3b85cd038d1217c09c6.zip
starshatter-ca18c5b1b5004ffa88b6b3b85cd038d1217c09c6.tar.gz
starshatter-ca18c5b1b5004ffa88b6b3b85cd038d1217c09c6.tar.bz2
zlib sources removed from this tree
This, for whatever reason, breaks std::fs exception handling. All remaining external projects will be moved to use this approach soon. This is to prepare it for more new libraries which would otherwise make the tree grow even further.
Diffstat (limited to 'contrib/zlib/zlib2ansi')
-rwxr-xr-xcontrib/zlib/zlib2ansi152
1 files changed, 0 insertions, 152 deletions
diff --git a/contrib/zlib/zlib2ansi b/contrib/zlib/zlib2ansi
deleted file mode 100755
index 15e3e16..0000000
--- a/contrib/zlib/zlib2ansi
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/usr/bin/perl
-
-# Transform K&R C function definitions into ANSI equivalent.
-#
-# Author: Paul Marquess
-# Version: 1.0
-# Date: 3 October 2006
-
-# TODO
-#
-# Asumes no function pointer parameters. unless they are typedefed.
-# Assumes no literal strings that look like function definitions
-# Assumes functions start at the beginning of a line
-
-use strict;
-use warnings;
-
-local $/;
-$_ = <>;
-
-my $sp = qr{ \s* (?: /\* .*? \*/ )? \s* }x; # assume no nested comments
-
-my $d1 = qr{ $sp (?: [\w\*\s]+ $sp)* $sp \w+ $sp [\[\]\s]* $sp }x ;
-my $decl = qr{ $sp (?: \w+ $sp )+ $d1 }xo ;
-my $dList = qr{ $sp $decl (?: $sp , $d1 )* $sp ; $sp }xo ;
-
-
-while (s/^
- ( # Start $1
- ( # Start $2
- .*? # Minimal eat content
- ( ^ \w [\w\s\*]+ ) # $3 -- function name
- \s* # optional whitespace
- ) # $2 - Matched up to before parameter list
-
- \( \s* # Literal "(" + optional whitespace
- ( [^\)]+ ) # $4 - one or more anythings except ")"
- \s* \) # optional whitespace surrounding a Literal ")"
-
- ( (?: $dList )+ ) # $5
-
- $sp ^ { # literal "{" at start of line
- ) # Remember to $1
- //xsom
- )
-{
- my $all = $1 ;
- my $prefix = $2;
- my $param_list = $4 ;
- my $params = $5;
-
- StripComments($params);
- StripComments($param_list);
- $param_list =~ s/^\s+//;
- $param_list =~ s/\s+$//;
-
- my $i = 0 ;
- my %pList = map { $_ => $i++ }
- split /\s*,\s*/, $param_list;
- my $pMatch = '(\b' . join('|', keys %pList) . '\b)\W*$' ;
-
- my @params = split /\s*;\s*/, $params;
- my @outParams = ();
- foreach my $p (@params)
- {
- if ($p =~ /,/)
- {
- my @bits = split /\s*,\s*/, $p;
- my $first = shift @bits;
- $first =~ s/^\s*//;
- push @outParams, $first;
- $first =~ /^(\w+\s*)/;
- my $type = $1 ;
- push @outParams, map { $type . $_ } @bits;
- }
- else
- {
- $p =~ s/^\s+//;
- push @outParams, $p;
- }
- }
-
-
- my %tmp = map { /$pMatch/; $_ => $pList{$1} }
- @outParams ;
-
- @outParams = map { " $_" }
- sort { $tmp{$a} <=> $tmp{$b} }
- @outParams ;
-
- print $prefix ;
- print "(\n" . join(",\n", @outParams) . ")\n";
- print "{" ;
-
-}
-
-# Output any trailing code.
-print ;
-exit 0;
-
-
-sub StripComments
-{
-
- no warnings;
-
- # Strip C & C++ coments
- # From the perlfaq
- $_[0] =~
-
- s{
- /\* ## Start of /* ... */ comment
- [^*]*\*+ ## Non-* followed by 1-or-more *'s
- (
- [^/*][^*]*\*+
- )* ## 0-or-more things which don't start with /
- ## but do end with '*'
- / ## End of /* ... */ comment
-
- | ## OR C++ Comment
- // ## Start of C++ comment //
- [^\n]* ## followed by 0-or-more non end of line characters
-
- | ## OR various things which aren't comments:
-
- (
- " ## Start of " ... " string
- (
- \\. ## Escaped char
- | ## OR
- [^"\\] ## Non "\
- )*
- " ## End of " ... " string
-
- | ## OR
-
- ' ## Start of ' ... ' string
- (
- \\. ## Escaped char
- | ## OR
- [^'\\] ## Non '\
- )*
- ' ## End of ' ... ' string
-
- | ## OR
-
- . ## Anything other char
- [^/"'\\]* ## Chars which doesn't start a comment, string or escape
- )
- }{$2}gxs;
-
-}