Refactor Fortran parser

Following other's advice, put "'-'<assoc=right> expression>" into expression
rule to handle negative sign.