about summary refs log tree commit diff
path: root/src/etc
diff options
context:
space:
mode:
authorRicho Healey <richo@psych0tik.net>2015-05-24 05:08:53 -0700
committerRicho Healey <richo@psych0tik.net>2015-05-24 05:08:53 -0700
commit6bcdd9ed2cde913e950a545959e42afa3a83a3cd (patch)
tree5630dea67518c3c0fe19ffadbc47e4931e8f2da3 /src/etc
parent0c2642a571e951a15c2bc7550c86f583ad02ffcd (diff)
downloadrust-6bcdd9ed2cde913e950a545959e42afa3a83a3cd.tar.gz
rust-6bcdd9ed2cde913e950a545959e42afa3a83a3cd.zip
etc: Delete unused helper script
Diffstat (limited to 'src/etc')
-rwxr-xr-xsrc/etc/2014-06-rewrite-bytes-macros.py138
1 files changed, 0 insertions, 138 deletions
diff --git a/src/etc/2014-06-rewrite-bytes-macros.py b/src/etc/2014-06-rewrite-bytes-macros.py
deleted file mode 100755
index 73ddfcb04cb..00000000000
--- a/src/etc/2014-06-rewrite-bytes-macros.py
+++ /dev/null
@@ -1,138 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-# file at the top-level directory of this distribution and at
-# http://rust-lang.org/COPYRIGHT.
-#
-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-# option. This file may not be copied, modified, or distributed
-# except according to those terms.
-
-import sys
-import subprocess
-import re
-
-
-def main():
-    if len(sys.argv) <= 1:
-        print('Usage: %s [ --apply ] filename1.rs filename2.rs ...'
-              % sys.argv[0])
-    elif sys.argv[1] == '--apply':
-        for filename in sys.argv[2:]:
-            patch(filename)
-    else:
-        for filename in sys.argv[1:]:
-            diff(filename)
-
-
-def patch(filename):
-    source = read(filename)
-    rewritten = rewrite_bytes_macros(source)
-    if rewritten is not None and rewritten != source:
-        write(filename, rewritten)
-
-
-def diff(filename):
-    rewritten = rewrite_bytes_macros(read(filename))
-    if rewritten is not None:
-        p = subprocess.Popen(['diff', '-u', filename, '-'],
-                             stdin=subprocess.PIPE)
-        p.stdin.write(rewritten)
-        p.stdin.close()
-        p.wait()
-
-
-def read(filename):
-    with open(filename, 'rb') as f:
-        return f.read()
-
-
-def write(filename, content):
-    with open(filename, 'wb') as f:
-        f.write(content)
-
-
-def rewrite_bytes_macros(source):
-    rewritten, num_occurrences = BYTES_MACRO_RE.subn(rewrite_one_macro, source)
-    if num_occurrences > 0:
-        return rewritten
-
-
-BYTES_MACRO_RE = re.compile(br'bytes!\(  (?P<args>  [^)]*  )  \)', re.VERBOSE)
-
-
-def rewrite_one_macro(match):
-    try:
-        bytes = parse_bytes(split_args(match.group('args')))
-        return b'b"' + b''.join(map(escape, bytes)) + b'"'
-    except SkipThisRewrite:
-        print('Skipped: %s' % match.group(0).decode('utf8', 'replace'))
-        return match.group(0)
-
-
-class SkipThisRewrite(Exception):
-    pass
-
-
-def split_args(args):
-    previous = b''
-    for arg in args.split(b','):
-        if previous:
-            arg = previous + b',' + arg
-        if arg.count(b'"') % 2 == 0:
-            yield arg
-            previous = b''
-        else:
-            previous = arg
-    if previous:
-        yield previous
-
-
-def parse_bytes(args):
-    for arg in args:
-        arg = arg.strip()
-        if (arg.startswith(b'"') and arg.endswith(b'"')) or (
-                arg.startswith(b"'") and arg.endswith(b"'")):
-            # Escaped newline means something different in Rust and Python.
-            if b'\\\n' in arg:
-                raise SkipThisRewrite
-            for byte in eval(b'u' + arg).encode('utf8'):
-                yield ord(byte)
-        else:
-            if arg.endswith(b'u8'):
-                arg = arg[:-2]
-            # Assume that all Rust integer literals
-            # are valid Python integer literals
-            value = int(eval(arg))
-            assert value <= 0xFF
-            yield value
-
-
-def escape(byte):
-    c = chr(byte)
-    escaped = {
-        b'\0': br'\0',
-        b'\t': br'\t',
-        b'\n': br'\n',
-        b'\r': br'\r',
-        b'\'': b'\\\'',
-        b'\\': br'\\',
-    }.get(c)
-    if escaped is not None:
-        return escaped
-    elif b' ' <= c <= b'~':
-        return chr(byte)
-    else:
-        return ('\\x%02X' % byte).encode('ascii')
-
-
-if str is not bytes:
-    # Python 3.x
-    ord = lambda x: x
-    chr = lambda x: bytes([x])
-
-
-if __name__ == '__main__':
-    main()