}
final public NamespaceStatement NamespacePart(Location location, DefinitionStatement scope) throws ParseException {
Token t;
t = jj_consume_token(SYMBOL);
NamespaceStatement namespace;
String name = t.image;
Type declared = scope.lookupDeclaration(name);
if (declared == null) {
namespace = new NamespaceStatement(location, scope, t.image, t.document);
scope.declare(namespace);
} else if (declared.getType() == Type.NAMESPACE) {
namespace = (NamespaceStatement)declared;
} else {
error(location, "Entity '"+name+"' already declared");
namespace = new NamespaceStatement(location, scope, t.image, t.document);
}
{if (true) return namespace;}
throw new Error("Missing return statement in function");
}