OSDN Git Service

am 3c54ece0: am 5dc34a85: activeDocumentLoader() causes crash in WebCoreFrameBridge.cpp
[android-x86/external-webkit.git] / WebCore / css / makegrammar.pl
1 #! /usr/bin/perl
2 #
3 #   This file is part of the WebKit project
4 #
5 #   Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
6 #
7 #   This library is free software; you can redistribute it and/or
8 #   modify it under the terms of the GNU Library General Public
9 #   License as published by the Free Software Foundation; either
10 #   version 2 of the License, or (at your option) any later version.
11 #
12 #   This library is distributed in the hope that it will be useful,
13 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 #   Library General Public License for more details.
16 #
17 #   You should have received a copy of the GNU Library General Public License
18 #   along with this library; see the file COPYING.LIB.  If not, write to
19 #   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 #   Boston, MA 02110-1301, USA.
21 use strict;
22 use warnings;
23
24 my $grammar = $ARGV[0];
25 my $fileBase = $ARGV[1];
26
27 system("bison -d -p cssyy " . $grammar . " -o " . $fileBase . ".tab.c");
28
29 open HEADER, ">" . $fileBase . ".h" or die;
30 print HEADER << "EOF";
31 #ifndef CSSGRAMMAR_H
32 #define CSSGRAMMAR_H
33 EOF
34
35 open HPP, "<" . $fileBase . ".tab.h" or die;
36 while (<HPP>) {
37     print HEADER;
38 }
39 close HPP;
40
41 print HEADER "#endif\n";
42
43 close HEADER;
44
45 unlink($fileBase . ".tab.h");
46
47 open CPP, ">" . $fileBase . ".cpp" or die;
48 open GENSRC, "<" . $fileBase . ".tab.c" or die;
49 while (<GENSRC>) {
50     print CPP;
51 }
52 close GENSRC;
53 close CPP;
54
55 unlink($fileBase . ".tab.c");