Parser with AST tree