add serialized assignment, change non-terminal names in grammar

serialized assignment:

a = b = c = 1

compiles to:

let s:c = 1

let s:b = s:c

let s:a = s:b