IConstructor parseFragment(IString name, IValue start, IConstructor tree, URI uri, IMap grammar) {
IConstructor symTree = TreeAdapter.getArg(tree, "symbol");
IConstructor lit = TreeAdapter.getArg(tree, "parts");
Map<String, IConstructor> antiquotes = new HashMap<String,IConstructor>();
IGTD<IConstructor, IConstructor, ISourceLocation> parser = getBootstrap() ? new RascalParser() : getParser(name.getValue(), start, TreeAdapter.getLocation(tree).getURI(), false, grammar);
try {
String parserMethodName = getParserGenerator().getParserMethodName(symTree);
DefaultNodeFlattener<IConstructor, IConstructor, ISourceLocation> converter = new DefaultNodeFlattener<IConstructor, IConstructor, ISourceLocation>();
UPTRNodeFactory nodeFactory = new UPTRNodeFactory();