2 # A helper class for parsing textual JS hashes into perl
5 # The parser is in jsarray.yp, to regenerate you'll need the Parse::YAPP
6 # package. Use 'yapp -m videosite::jsarray -s jsarray.yp' to regenerate
9 package videosite::JSLexArrayParser;
11 use videosite::JSArrayParser;
12 @ISA = qw(videosite::JSArrayParser);
15 use videosite::jsarray;
29 my $self = $class->SUPER::new();
31 $self->{'_PARSER'} = videosite::jsarray->new();
32 $self->{'_LEXER'} = Parse::Lex->new(@tokens);
34 return bless($self, $class);
41 my $l = $self->{'_LEXER'};
44 @result = $self->{'_PARSER'}->YYParse(
47 return ('', undef) unless $tok;
48 return ('', undef) if $l->eoi();
49 return ($tok->name(), $tok->text());
55 return $result[0]?{@{$result[0]}}:undef;