@@ -0,0 +1,1121 @@
+%0Afrom parser import Parser%0Afrom tokenizer import tokenize%0A%0Adef parse_expression(exp):%0A    if not exp.endswith(';'):%0A        exp = exp + ';'%0A%0A    tokens = tokenize(exp)%0A    parser = Parser(tokens)%0A%0A    return parser.parse_expression()%0A%0Adef parse_member_signature(sig):%0A    if not sig.endswith(';'):%0A        sig = sig + ';'%0A%0A    tokens = tokenize(sig)%0A    parser = Parser(tokens)%0A%0A    return parser.parse_member_declaration()%0A%0Adef parse_constructor_signature(sig):%0A    # Add an empty body to the signature, replacing a ; if necessary%0A    if sig.endswith(';'):%0A        sig = sig%5B:-1%5D%0A    sig = sig + '%7B %7D'%0A%0A    tokens = tokenize(sig)%0A    parser = Parser(tokens)%0A%0A    return parser.parse_member_declaration()%0A%0Adef parse_type(s):%0A    tokens = tokenize(s)%0A    parser = Parser(tokens)%0A%0A    return parser.parse_type()%0A%0Adef parse_type_signature(sig):%0A    if sig.endswith(';'):%0A        sig = sig%5B:-1%5D%0A    sig = sig + '%7B %7D'%0A%0A    tokens = tokenize(sig)%0A    parser = Parser(tokens)%0A%0A    return parser.parse_class_or_interface_declaration()%0A%0Adef parse(s):%0A    tokens = tokenize(s)%0A    parser = Parser(tokens)%0A    return parser.parse()%0A

Add simpler parse methods