#!/usr/bin/perl -w

use warnings;
use strict;

while(<>)
{
    s/[ \t]+$//g;                         # remove trailing white space
    s/\t//g;                              # remove tabs
    s/[ ]+/ /g;                           # remove space runs
    s/;\s/; /g;                           # compact rules
    s/{\s/{ /g;                           # opening brace
    s/\{ +/{ /g;                          # opening brace   
    s/ +\}/ }/g;                          # closing brace   
    print $_;
}