bug fix: array decl use invalid TYPE_DECL, array dimension check can support non-const
bug fix: add redeclare in function declaration, block add open/close scope
add some testcase
bug Fixed:
    - func decl parameter with float expression in array sub should print multiple error msg
      because of constValueEvaluation function.
    - func call TooFew / TooMany parameter error function reverse.
    - func call expr array type check use wrong symbol table entry.
add testcase