/[pub]/test/html-whatpm/parser-manakai.cgi
Suika

Contents of /test/html-whatpm/parser-manakai.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (hide annotations) (download)
Fri Jul 18 14:44:17 2008 UTC (18 years, 3 months ago) by wakaba
Branch: MAIN
Changes since 1.7: +2 -2 lines
++ ChangeLog	18 Jul 2008 14:44:11 -0000
2008-07-18  Wakaba  <wakaba@suika.fam.cx>

	* cc.cgi (print_structure_dump_webidl_section): Use ->idl_text
	for dummping (Data::Dumper::Dumper no longer used).

1 wakaba 1.3 #!/usr/bin/perl
2 wakaba 1.1 use strict;
3    
4     use lib qw[/home/httpd/html/www/markup/html/whatpm
5 wakaba 1.6 /home/wakaba/work/manakai2/lib];
6 wakaba 1.1 use CGI::Carp qw[fatalsToBrowser];
7     use Time::HiRes qw/time/;
8    
9 wakaba 1.6 use Message::CGI::HTTP;
10     my $http = Message::CGI::HTTP->new;
11 wakaba 1.1
12     ## TODO: _charset_
13    
14 wakaba 1.6 my @mode = split m#/#, scalar $http->get_meta_variable ('PATH_INFO'), -1;
15 wakaba 1.2 shift @mode if @mode and $mode[0] == '';
16 wakaba 1.1 ## TODO: decode unreserved characters
17    
18 wakaba 1.6 my $s = $http->get_parameter ('s');
19 wakaba 1.1 if (length $s > 1000_000) {
20     print STDOUT "Status: 400 Document Too Long\nContent-Type: text/plain; charset=us-ascii\n\nToo long";
21     exit;
22     }
23     my $char_length = length $s;
24     my %time;
25     my $time1;
26     my $time2;
27    
28     require Message::DOM::DOMImplementation;
29 wakaba 1.4 my $dom = Message::DOM::DOMImplementation->new;
30 wakaba 1.2 # $| = 1;
31 wakaba 1.1 my $doc;
32 wakaba 1.2 my $el;
33 wakaba 1.1
34 wakaba 1.7
35 wakaba 1.2 if (@mode == 3 and $mode[0] eq 'html' and
36 wakaba 1.7 ($mode[2] eq 'html' or $mode[2] eq 'test' or $mode[2] eq 'xml')) {
37 wakaba 1.1 print STDOUT "Content-Type: text/plain; charset=utf-8\n\n";
38    
39     require Encode;
40     require Whatpm::HTML;
41    
42     $time1 = time;
43     $s = Encode::decode ('utf-8', $s);
44     $time2 = time;
45     $time{decode} = $time2 - $time1;
46    
47    
48     print STDOUT "#errors\n";
49    
50     my $onerror = sub {
51     my (%opt) = @_;
52 wakaba 1.8 print STDOUT "$opt{line},$opt{column},$opt{type};$opt{level};$opt{value}\n";
53 wakaba