Added AST module for input from parsers.
Moved common constructs in Surface syntax forms to a separate module.