final public void PowerExpression() throws ParseException {
		UnaryExpressionNotPlusMinus();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
		case POWER:
			ASTFunNode jjtn001 = new ASTFunNode(JJTFUNNODE);
			boolean jjtc001 = true;
			jjtree.openNodeScope(jjtn001);
			try {
				jj_consume_token(POWER);
				UnaryExpression();
				jjtree.closeNodeScope(jjtn001, 2);
				jjtc001 = false;
				jjtn001.setFunction(tokenImage[POWER], new Power());
			}
			catch (Throwable jjte001) {
				if (jjtc001) {
					jjtree.clearNodeScope(jjtn001);
					jjtc001 = false;
				}
				else {
					jjtree.popNode();
				}
				if (jjte001 instanceof RuntimeException) {
					throw (RuntimeException) jjte001;
				}
				if (jjte001 instanceof ParseException) {
					throw (ParseException) jjte001;
				}
				throw (Error) jjte001;
			}
			finally {
				if (jjtc001) {
					jjtree.closeNodeScope(jjtn001, 2);
				}
			}
			break;
		default:
			jj_la1[11] = jj_gen;
		}
	}