blob: 0451fed98e5f06df2f2843a8fda1c77f32f6fe65 [file] [log] [blame]
from .parser import Parser
from .tokenizer import tokenize
def parse_expression(exp):
if not exp.endswith(';'):
exp = exp + ';'
tokens = tokenize(exp)
parser = Parser(tokens)
return parser.parse_expression()
def parse_member_signature(sig):
if not sig.endswith(';'):
sig = sig + ';'
tokens = tokenize(sig)
parser = Parser(tokens)
return parser.parse_member_declaration()
def parse_constructor_signature(sig):
# Add an empty body to the signature, replacing a ; if necessary
if sig.endswith(';'):
sig = sig[:-1]
sig = sig + '{ }'
tokens = tokenize(sig)
parser = Parser(tokens)
return parser.parse_member_declaration()
def parse_type(s):
tokens = tokenize(s)
parser = Parser(tokens)
return parser.parse_type()
def parse_type_signature(sig):
if sig.endswith(';'):
sig = sig[:-1]
sig = sig + '{ }'
tokens = tokenize(sig)
parser = Parser(tokens)
return parser.parse_class_or_interface_declaration()
def parse(s):
tokens = tokenize(s)
parser = Parser(tokens)
return parser.parse()