Pretty Printing Parentheses
C, 139 137 chars, 67 tokens

i,n;                                                      // 2 tokens
main(c){                                                  // 2 tokens
        while(~(c=getchar()))                             // 5 tokens
                n=strchr("([{}])",c)?                     // 11 tokens
                        n=c%4!=1,                         // 7 tokens
                        i+=n*4-2,                         // 7 tokens
                        printf("\n%*s%c"+n,n?1:i,"",c)    // 15 tokens
                :                                         // 1 token
                        !printf("\n%*s%3$c"+!n*4,i,"",c); // 17 tokens
}


Logic:


Read until EOF (detect it because ~EOF==0).
If parenthesis, check open/close (for c in ")]}", c%4==1), update indentation (i), print with some whitespace.
If not, print the character, possibly prefixed by newline and indentation (n is true after parenthesis).