diff --git a/src/objective-c/change-comments.py b/src/objective-c/change-comments.py
new file mode 100644
index 0000000000000000000000000000000000000000..20351d5bf86de28dab3c820eda6c6730543da57f
--- /dev/null
+++ b/src/objective-c/change-comments.py
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+
+import re
+import sys
+
+print 'Number of arguments:', len(sys.argv), 'arguments.'
+print 'Argument List:', str(sys.argv)
+
+with open(sys.argv[0], "r") as input_file:
+  lines = input_file.readlines()
+
+def peek():
+  return lines[0]
+
+def read_line():
+  return lines.pop(0)
+
+def more_input():
+  return lines
+
+
+comment_regex = r'^(\s*)//\s(.*)$'
+
+def is_comment(line):
+  return re.search(comment_regex, line)
+
+def isnt_comment(line):
+  return not is_comment(line)
+
+def next_line(predicate):
+  if not more_input():
+    return False
+  return predicate(peek())
+
+
+output_lines = []
+
+def output(line):
+  output_lines.append(line)
+
+
+while more_input():
+  while next_line(isnt_comment):
+    output(read_line())
+
+  comment_block = []
+  # Get all lines in the same comment block. We could restrict the indentation
+  # to be the same as the first line of the block, but it's probably ok.
+  while (next_line(is_comment)):
+    comment_block.append(read_line())
+
+  for line in format_as_block(comment_block):
+    output(line)