I will do it. That's what I think:
a. int foo +; (foo + is an invalid identifier, because + is not a valid char in identifiers)
b. foo int; (A syntax error is any error when the syntax is invalid - either due to incorrect translation of words, and with incorrect spelling, and with a comma, and with a comma).
c. Static semantic error is a logical error. for example, to pass a float as an array index - arr [1.5] must be SSE.
d. , , NullReferenceException, DME. , , ( ), . , (, Cat Person DME.) - , .
, .