Maybe Syntax and Rewriter

We need rewrite all maybe syntax to ordinary Java codes.

Maybe Block

maybe ("algorithm") {
    // do path 0
} or {
    // do path 1
} or {
    // do path 2
}

to

switch (maybeService.get("algorithm")) {
    case 0:
        // do path 0
        break;
    case 1:
        // do path 1
        break;
    case 2:
        // do path 2
        break;
    default:
        System.err.println("maybe label algorithm got choice out of range.");
        // do path 0
        break;
}

Maybe Variable

int batteryLevel = maybe("battery") {10, 15, 20, 30};

to

int batteryLevel = 10;
switch (maybeService.get("battery")) {
    case 0:
        batteryLevel = 10;
        break;
    case 1:
        batteryLevel = 15;
        break;
    case 2:
        batteryLevel = 20;
        break;
    case 3:
        batteryLevel = 30;
        break;
    default:
        System.err.println("maybe label battery got choice out of range.");
        break;
}