summaryrefslogtreecommitdiffstats
path: root/WebCore/WebCore.gyp/scripts/action_maketokenizer.py
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/WebCore.gyp/scripts/action_maketokenizer.py')
-rw-r--r--WebCore/WebCore.gyp/scripts/action_maketokenizer.py101
1 files changed, 0 insertions, 101 deletions
diff --git a/WebCore/WebCore.gyp/scripts/action_maketokenizer.py b/WebCore/WebCore.gyp/scripts/action_maketokenizer.py
deleted file mode 100644
index f4a28ee..0000000
--- a/WebCore/WebCore.gyp/scripts/action_maketokenizer.py
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2009 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# usage: action_maketokenizer.py OUTPUTS -- INPUTS
-#
-# Multiple INPUTS may be listed. The sections are separated by -- arguments.
-#
-# OUTPUTS must contain a single item: a path to tokenizer.cpp.
-#
-# INPUTS must contain exactly two items. The first item must be the path to
-# maketokenizer. The second item must be the path to tokenizer.flex.
-
-
-import os
-import subprocess
-import sys
-
-
-def SplitArgsIntoSections(args):
- sections = []
- while len(args) > 0:
- if not '--' in args:
- # If there is no '--' left, everything remaining is an entire section.
- dashes = len(args)
- else:
- dashes = args.index('--')
-
- sections.append(args[:dashes])
-
- # Next time through the loop, look at everything after this '--'.
- if dashes + 1 == len(args):
- # If the '--' is at the end of the list, we won't come back through the
- # loop again. Add an empty section now corresponding to the nothingness
- # following the final '--'.
- args = []
- sections.append(args)
- else:
- args = args[dashes + 1:]
-
- return sections
-
-
-def main(args):
- sections = SplitArgsIntoSections(args[1:])
- assert len(sections) == 2
- (outputs, inputs) = sections
-
- assert len(outputs) == 1
- output = outputs[0]
-
- assert len(inputs) == 2
- maketokenizer = inputs[0]
- flexInput = inputs[1]
-
- # Do it. check_call is new in 2.5, so simulate its behavior with call and
- # assert.
- outfile = open(output, 'wb')
- p1 = subprocess.Popen(['flex', '-t', flexInput], stdout=subprocess.PIPE)
- p2 = subprocess.Popen(['perl', maketokenizer], stdin=p1.stdout, stdout=outfile)
-
- r1 = p1.wait()
- r2 = p2.wait()
- assert r1 == 0
- assert r2 == 0
-
- return 0
-
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))