Index: trunk/PS-IPP-Metadata-Config/Build.PL
===================================================================
--- trunk/PS-IPP-Metadata-Config/Build.PL	(revision 5202)
+++ trunk/PS-IPP-Metadata-Config/Build.PL	(revision 8583)
@@ -2,5 +2,20 @@
 # See perldoc Module::Build for details of how this works
 
-Module::Build->new(
+my $class = Module::Build->subclass(code => <<'EOF');
+use File::Copy;
+
+sub ACTION_code {
+    my $self = shift;
+
+    $self->SUPER::ACTION_code(@_);
+
+    system("perl -MParse::RecDescent - config_grammar.txt PS::IPP::Metadata::Parser") == 0
+        or die "Parse::RecDecent code gen failed: $?";
+    move("Parser.pm", "lib/PS/IPP/Metadata/Parser.pm")
+        or die "move failed: $!";
+}
+EOF
+
+$class->new(
     module_name         => 'PS::IPP::Metadata::Config',
     dist_version_from   => 'lib/PS/IPP/Metadata/Config.pm',
