########################################### package MathParser; ########################################### use MathLexer; use strict; use warnings; ########################################### sub new { ########################################### my($class, $parser) = @_; my $self = { parser => $parser }; bless $self, $class; } ########################################### sub parse { ########################################### my($self, $str, $debug) = @_; my $lexer = MathLexer->new($str); my $result = $self->{parser}->YYParse( yylex => sub { $lexer->next(); }, yyerror => sub { die "Error" }, yydebug => $debug ? 0x1F : undef, ); } 1;