15: CLASS 15: CLASS_ID(Quicksort) 15: LCBR 16: INT 16: LB 16: RB 16: ID(a) 16: SEMI 18: INT 18: ID(partition) 18: LP 18: INT 18: ID(low) 18: COMMA 18: INT 18: ID(high) 18: RP 18: LCBR 19: INT 19: ID(pivot) 19: ASSIGN 19: ID(a) 19: LB 19: ID(low) 19: RB 19: SEMI 20: INT 20: ID(i) 20: ASSIGN 20: ID(low) 20: SEMI 21: INT 21: ID(j) 21: ASSIGN 21: ID(high) 21: SEMI 22: INT 22: ID(tmp) 22: SEMI 24: WHILE 24: LP 24: TRUE 24: RP 24: LCBR 25: WHILE 25: LP 25: ID(a) 25: LB 25: ID(i) 25: RB 25: LT 25: ID(pivot) 25: RP 25: ID(i) 25: ASSIGN 25: ID(i) 25: PLUS 25: INTEGER(1) 25: SEMI 26: WHILE 26: LP 26: ID(a) 26: LB 26: ID(j) 26: RB 26: GT 26: ID(pivot) 26: RP 26: ID(j) 26: ASSIGN 26: ID(j) 26: MINUS 26: INTEGER(1) 26: SEMI 28: IF 28: LP 28: ID(i) 28: GTE 28: ID(j) 28: RP 28: BREAK 28: SEMI 30: ID(tmp) 30: ASSIGN 30: ID(a) 30: LB 30: ID(i) 30: RB 30: SEMI 31: ID(a) 31: LB 31: ID(i) 31: RB 31: ASSIGN 31: ID(a) 31: LB 31: ID(j) 31: RB 31: SEMI 32: ID(a) 32: LB 32: ID(j) 32: RB 32: ASSIGN 32: ID(tmp) 32: SEMI 33: ID(i) 33: ASSIGN 33: ID(i) 33: PLUS 33: INTEGER(1) 33: SEMI 34: ID(j) 34: ASSIGN 34: ID(j) 34: MINUS 34: INTEGER(1) 34: SEMI 35: RCBR 37: RETURN 37: ID(j) 37: SEMI 38: RCBR 40: VOID 40: ID(quicksort) 40: LP 40: INT 40: ID(low) 40: COMMA 40: INT 40: ID(high) 40: RP 40: LCBR 41: IF 41: LP 41: ID(low) 41: LT 41: ID(high) 41: RP 41: LCBR 42: INT 42: ID(mid) 42: ASSIGN 42: ID(partition) 42: LP 42: ID(low) 42: COMMA 42: ID(high) 42: RP 42: SEMI 43: ID(quicksort) 43: LP 43: ID(low) 43: COMMA 43: ID(mid) 43: RP 43: SEMI 44: ID(quicksort) 44: LP 44: ID(mid) 44: PLUS 44: INTEGER(1) 44: COMMA 44: ID(high) 44: RP 44: SEMI 45: RCBR 46: RCBR 48: VOID 48: ID(initArray) 48: LP 48: RP 48: LCBR 49: INT 49: ID(i) 49: ASSIGN 49: INTEGER(0) 49: SEMI 50: WHILE 50: LP 50: ID(i) 50: LT 50: ID(a) 50: DOT 50: LENGTH 50: RP 50: LCBR 51: ID(a) 51: LB 51: ID(i) 51: RB 51: ASSIGN 51: CLASS_ID(Library) 51: DOT 51: ID(random) 51: LP 51: ID(a) 51: DOT 51: LENGTH 51: MULTIPLY 51: INTEGER(2) 51: RP 51: SEMI 52: ID(i) 52: ASSIGN 52: ID(i) 52: PLUS 52: INTEGER(1) 52: SEMI 53: RCBR 54: RCBR 56: VOID 56: ID(printArray) 56: LP 56: RP 56: LCBR 57: INT 57: ID(i) 57: ASSIGN 57: INTEGER(0) 57: SEMI 59: CLASS_ID(Library) 59: DOT 59: ID(print) 59: LP 59: QUOTE("Array elements: ") 59: RP 59: SEMI 60: WHILE 60: LP 60: ID(i) 60: LT 60: ID(a) 60: DOT 60: LENGTH 60: RP 60: LCBR 61: CLASS_ID(Library) 61: DOT 61: ID(printi) 61: LP 61: ID(a) 61: LB 61: ID(i) 61: RB 61: RP 61: SEMI 62: CLASS_ID(Library) 62: DOT 62: ID(print) 62: LP 62: QUOTE(" ") 62: RP 62: SEMI 63: ID(i) 63: ASSIGN 63: ID(i) 63: PLUS 63: INTEGER(1) 63: SEMI 64: RCBR 65: CLASS_ID(Library) 65: DOT 65: ID(print) 65: LP 65: QUOTE("\n") 65: RP 65: SEMI 66: RCBR 68: STATIC 68: VOID 68: ID(main) 68: LP 68: STRING 68: LB 68: RB 68: ID(args) 68: RP 68: LCBR 69: INT 69: ID(n) 69: SEMI 71: IF 71: LP 71: ID(args) 71: DOT 71: LENGTH 71: NEQUAL 71: INTEGER(1) 71: RP 71: LCBR 72: CLASS_ID(Library) 72: DOT 72: ID(println) 72: LP 72: QUOTE("Unspecified array length") 72: RP 72: SEMI 73: CLASS_ID(Library) 73: DOT 73: ID(exit) 73: LP 73: INTEGER(1) 73: RP 73: SEMI 74: RCBR 76: ID(n) 76: ASSIGN 76: CLASS_ID(Library) 76: DOT 76: ID(stoi) 76: LP 76: ID(args) 76: LB 76: INTEGER(0) 76: RB 76: COMMA 76: INTEGER(0) 76: RP 76: SEMI 77: IF 77: LP 77: ID(n) 77: LTE 77: INTEGER(0) 77: RP 77: LCBR 78: CLASS_ID(Library) 78: DOT 78: ID(println) 78: LP 78: QUOTE("Invalid array length") 78: RP 78: SEMI 79: CLASS_ID(Library) 79: DOT 79: ID(exit) 79: LP 79: INTEGER(1) 79: RP 79: SEMI 80: RCBR 81: CLASS_ID(Quicksort) 81: ID(s) 81: ASSIGN 81: NEW 81: CLASS_ID(Quicksort) 81: LP 81: RP 81: SEMI 82: ID(s) 82: DOT 82: ID(a) 82: ASSIGN 82: NEW 82: INT 82: LB 82: ID(n) 82: RB 82: SEMI 84: ID(s) 84: DOT 84: ID(initArray) 84: LP 84: RP 84: SEMI 85: ID(s) 85: DOT 85: ID(printArray) 85: LP 85: RP 85: SEMI 86: ID(s) 86: DOT 86: ID(quicksort) 86: LP 86: INTEGER(0) 86: COMMA 86: ID(n) 86: MINUS 86: INTEGER(1) 86: RP 86: SEMI 87: ID(s) 87: DOT 87: ID(printArray) 87: LP 87: RP 87: SEMI 88: RCBR 89: RCBR 90: EOF