undecidable problem generally blur distinction parsing execution contrast lisp 's macro system perl 's code begin code blocks may contain general computations c macros merely string replacements require code execution semantics term ' 'semantics'' refers meaning languages opposed form syntax static semantics static semantics defines restrictions structure valid texts hard impossible express standard syntactic formalisms ref name aaby compiled languages static semantics essentially include semantic rules checked compile time examples include checking
Formal science Computer science Programming languages