Index: Source/bindings/dart/gyp/scripts/InFilesParser.pm |
diff --git a/Source/bindings/dart/gyp/scripts/InFilesParser.pm b/Source/bindings/dart/gyp/scripts/InFilesParser.pm |
deleted file mode 100644 |
index eaaaa81c14134c2bb9d1778b5e9ed7a8dd39dc16..0000000000000000000000000000000000000000 |
--- a/Source/bindings/dart/gyp/scripts/InFilesParser.pm |
+++ /dev/null |
@@ -1,154 +0,0 @@ |
-#!/usr/bin/perl -w |
- |
-# Copyright (C) 2008 Julien Chaffraix <jchaffraix@webkit.org> |
-# |
-# Redistribution and use in source and binary forms, with or without |
-# modification, are permitted provided that the following conditions |
-# are met: |
-# 1. Redistributions of source code must retain the above copyright |
-# notice, this list of conditions and the following disclaimer. |
-# 2. 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. |
-# |
-# THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``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 APPLE COMPUTER, INC. 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. |
-# |
- |
-use strict; |
- |
-package InFilesParser; |
- |
-my $isParsingCommonParameters; |
-my $hasStartedParsing; |
- |
-# Helper functions |
- |
-sub trimComment |
-{ |
- my $string = shift; |
- $string =~ s/#.+$//; |
- chomp($string); |
- return $string; |
-} |
- |
-sub trimWS |
-{ |
- my $string = shift; |
- $string =~ s/^\s+//; |
- $string =~ s/\s+$//; |
- chomp($string); |
- return $string; |
-} |
- |
-sub trimQuoteAndWS |
-{ |
- my $string = shift; |
- $string =~ s/\"([^\"]+)\"/$1/; |
- return trimWS($string); |
-} |
- |
-# Default constructor |
- |
-sub new |
-{ |
- my $object = shift; |
- my $reference = { }; |
- |
- # Initialize the parser. |
- $isParsingCommonParameters = 1; |
- $hasStartedParsing = 0; |
- |
- bless($reference, $object); |
- return $reference; |
-} |
- |
-# parse take 3 attributes: |
-# - the filestream to read from (the caller has to open / close it). |
-# - the commonParameterHandler called when parsing the first part of the file with the parameter and the value. |
-# - the perTagHandler called for each optional parameter with the element name, the parameter and its value. |
-# If no parameter were provided, it is called once with an empty parameter and value. |
-sub parse($) |
-{ |
- my $object = shift; |
- my $fileStream = shift; # IO::File only |
- my $commonParameterHandler = shift; |
- my $perTagHandler = shift; |
- |
- foreach (<$fileStream>) { |
- # Ignore whitespace, in case the .in files have the wrong EOL |
- # markers and those are getting treated as whitespace. |
- $_ = trimWS($_); |
- |
- # Empty line, change from common parameter part |
- # to per tag part if we have started parsing. |
- if (/^$/) { |
- if ($hasStartedParsing) { |
- $isParsingCommonParameters = 0; |
- } |
- next; |
- } |
- |
- # There may be a few empty lines at the beginning of the file |
- # so detect the first non empty line which starts the common |
- # parameters part. |
- $hasStartedParsing = 1; |
- |
- if (/^#/) { |
- next; |
- } |
- |
- $_ = trimComment($_); |
- |
- if ($isParsingCommonParameters) { |
- my ($name, $value) = split '=', $_; |
- |
- $name = trimWS($name); |
- if (defined($value)) { |
- $value = trimQuoteAndWS($value); |
- } else { |
- # We default to 1 as it eases the syntax. |
- $value = "1"; |
- } |
- |
- &$commonParameterHandler($name, $value); |
- } else { |
- # Parsing per-tag parameters. |
- |
- # Split the tag name ($1) from the optionnal parameter(s) ($2) |
- /^(\S+)\s*(.*)$/; |
- my $elementName = $1; |
- |
- if ($2) { |
- my @options = split "," , $2; |
- my ($option, $value); |
- for (my $i = 0; $i < @options; ++$i) { |
- ($option, $value) = split "=", $options[$i]; |
- $option = trimWS($option); |
- if (defined($value)) { |
- $value = trimQuoteAndWS($value); |
- } else { |
- # We default to 1 as it eases the syntax. |
- $value = "1"; |
- } |
- |
- &$perTagHandler($elementName, $option, $value); |
- } |
- } else { |
- # No parameter was given so call it with empty strings. |
- &$perTagHandler($elementName, "", ""); |
- } |
- } |
- } |
-} |
- |
-1; |