Local keyword semantics

1. Semantic implementation of local variables
2. Testcases for local
Should we verify ``a`` here? ``a`` gets modified in nested language block, need to make sure the global ``a`` won't be changed.