@Override
	public Identity visitLcondition(LconditionContext ctx) {
		int opType = ctx.op.getType();
		Identity left = visit(ctx.e(0));
		Identity right = visit(ctx.e(1));

		if (left.getIdentityType() != Identity.NUMBER
				|| right.getIdentityType() != Identity.NUMBER) {
			errOut.println("Condition Error: test values must be NUMBER.");
		}
		boolean ans = false;
		Double l = Double.valueOf(left.getConstantValue().toString());
		Double r = Double.valueOf(right.getConstantValue().toString());
		switch (opType) {
		case L1Parser.G:
			ans = l > r;
			break;
		case L1Parser.GE:
			ans = l >= r;
			break;
		case L1Parser.L:
			ans = l < r;
			break;
		case L1Parser.LE:
			ans = l <= r;
			break;
		case L1Parser.EQ:
			ans = l == r;
			break;
		case L1Parser.NEQ:
			ans = l != r;
			break;
		default:
			errOut.println("Wrong op:" + ctx.op.getText());
			break;
		}

		return new Identity(Identity.BOOL, ans);
	}