Add type_attribute rule in fortran_types grammar
Simplify variable_list rule
Add assignment rule in declaration rule

Also added an example.F90 for testing the parsing of code file.
Add use_module and implicit_none rules
Add loop rule

Move statement, declaration, and assignment rules into fortran_basics
grammar. Change the pattern of assignment rule to match anything on the
right side instead of only id.
Add condition rule
Add contains rule and skip emtpy line

Move new_line into statement rule, and add the new_line for matching
empty line (possible with spaces).
Make procedure rule nested
Reorganize grammar structure and add derived_type_definition rule

The current grammar structure is:

Fortran
	-> FortranBasics
	-> FortranStatements
	-> FortranProcedures
Find a bug

I can not match the comments outside root procedure!