added macro definition for and; fixed bug in code generation for begin