; Predefined macros for some font, widget and window functions ; define SET_OFF (ZERO) define SET_ON (1) define DEFAULT_CHARSET ('utf8') define DEFAULT_RESOLUTION (ZERO) ; For exit function ; define NOERROR (ZERO) define ERROR (1) ; For some thread functions ; ; param THREAD_NAME: define DEFAULT_THREAD ('T') ; For clock_set_multiplier function ; define CLOCK_REALTIME (1) ; For some audio functions ; define VOL_MIN (ZERO) define VOL_MAX (1) define PAN_CENTER (ZERO) define PAN_LEFTMOST (-1) define PAN_RIGHTMOST (1) define FREQ_C0 (16.3516) define FREQ_Db0 (17.32391) define FREQ_D0 (18.35405) define FREQ_Eb0 (19.44544) define FREQ_E0 (20.60172) define FREQ_F0 (21.82676) define FREQ_Gb0 (23.12465) define FREQ_G0 (24.49971) define FREQ_Ab0 (25.95654) define FREQ_A0 (27.5) define FREQ_Bb0 (29.13524) define FREQ_B0 (30.86771) define FREQ_C1 (32.70320) define FREQ_Db1 (34.64783) define FREQ_D1 (36.70810) define FREQ_Eb1 (38.89087) define FREQ_E1 (41.20344) define FREQ_F1 (43.65353) define FREQ_Gb1 (46.2493) define FREQ_G1 (48.99943) define FREQ_Ab1 (51.91309) define FREQ_A1 (55.0) define FREQ_Bb1 (58.27047) define FREQ_B1 (61.73541) define FREQ_C2 (65.40639) define FREQ_Db2 (69.29566) define FREQ_D2 (73.41619) define FREQ_Eb2 (77.78175) define FREQ_E2 (82.40689) define FREQ_F2 (87.30706) define FREQ_Gb2 (92.49861) define FREQ_G2 (97.99886) define FREQ_Ab2 (103.8262) define FREQ_A2 (110.0) define FREQ_Bb2 (116.5409) define FREQ_B2 (123.4708) define FREQ_C3 (130.8128) define FREQ_Db3 (138.5913) define FREQ_D3 (146.8324) define FREQ_Eb3 (155.5635) define FREQ_E3 (164.8138) define FREQ_F3 (174.6141) define FREQ_Gb3 (184.9972) define FREQ_G3 (195.9977) define FREQ_Ab3 (207.6523) define FREQ_A3 (220.0) define FREQ_Bb3 (233.0819) define FREQ_B3 (246.9417) define FREQ_C4 (261.6256) define FREQ_MIDDLE_C (261.6256) define FREQ_Db4 (277.1826) define FREQ_D4 (293.6648) define FREQ_Eb4 (311.1270) define FREQ_E4 (329.6276) define FREQ_F4 (349.2282) define FREQ_Gb4 (369.9944) define FREQ_G4 (391.9954) define FREQ_Ab4 (415.3047) define FREQ_A4 (440.0) define FREQ_Bb4 (466.1638) define FREQ_B4 (493.8833) define FREQ_C5 (523.2511) define FREQ_Db5 (554.3653) define FREQ_D5 (587.3295) define FREQ_Eb5 (622.254) define FREQ_E5 (659.2551) define FREQ_F5 (698.4565) define FREQ_Gb5 (739.9888) define FREQ_G5 (783.9909) define FREQ_Ab5 (830.6094) define FREQ_A5 (880.0) define FREQ_Bb5 (932.3275) define FREQ_B5 (987.7666) define FREQ_C6 (1046.502) define FREQ_Db6 (1108.731) define FREQ_D6 (1174.659) define FREQ_Eb6 (1244.508) define FREQ_E6 (1318.51) define FREQ_F6 (1396.913) define FREQ_Gb6 (1479.978) define FREQ_G6 (1567.982) define FREQ_Ab6 (1661.219) define FREQ_A6 (1760.0) define FREQ_Bb6 (1864.655) define FREQ_B6 (1975.533) define FREQ_C7 (2093.005) define FREQ_Db7 (2217.461) define FREQ_D7 (2349.318) define FREQ_Eb7 (2489.016) define FREQ_E7 (2637.02) define FREQ_F7 (2793.826) define FREQ_Gb7 (2959.955) define FREQ_G7 (3135.963) define FREQ_Ab7 (3322.438) define FREQ_A7 (3520.0) define FREQ_Bb7 (3729.31) define FREQ_B7 (3951.066) define FREQ_C8 (4186.009) define FREQ_Db8 (4434.922) define FREQ_D8 (4698.636) define FREQ_Eb8 (4978.032) define FREQ_E8 (5274.041) define FREQ_F8 (5587.652) define FREQ_Gb8 (5919.911) define FREQ_G8 (6271.927) define FREQ_Ab8 (6644.875) define FREQ_A8 (7040.0) define FREQ_Bb8 (7458.62) define FREQ_B8 (7902.133) ; For widget_indicator_set function ; ; param INDICATOR_MODE: define INDICATOR_DISABLED (ZERO) define INDICATOR_ALWAYS (1) define INDICATOR_ONHOVER (2) ; For some widget functions ; define DEFAULT_JUSTIFIED (ZERO) define LEFT_JUSTIFIED (1) define RIGHT_JUSTIFIED (2) define CENTER_JUSTIFIED (3) define TITLE_DEFAULT (ZERO) define TITLE_ABOVE (1) define TITLE_BELOW (2) define TITLE_LEFT (3) define TITLE_RIGHT (4) define ONRELEASE (ZERO) define ONMOVE (1) define LAMP_RED (ZERO) define LAMP_ORANGE (1) define LAMP_WHITE (2) define LAMP_GREEN (3) define LAMP_BLUE (4) define LAMP_PURPLE (5) define BUTTON_RED (ZERO) define BUTTON_YELLOW (1) define BUTTON_WHITE (2) define BUTTON_GREEN (3) define BUTTON_BLUE (4) define BUTTON_PURPLE (5) define BUTTON_NOSTICKY (ZERO) define BUTTON_STICKY (1) define SLIDER_HORIZ_SLIDER (ZERO) define SLIDER_VERT_SLIDER (1) define SLIDER_HORIZ_THIN (2) define SLIDER_VERT_THIN (3) define SLIDER_HORIZ_OVAL (4) define SLIDER_VERT_OVAL (5) define KNOB_LARGE_CHICKEN (ZERO) define KNOB_SMALL_CHICKEN (1) define KNOB_LARGE_FLAT (2) define KNOB_SMALL_FLAT (3) define KNOB_LARGE_ROUND (4) define KNOB_SMALL_ROUND (5) define STATE_DISABLE (ZERO) define STATE_ENABLE (1) ; For window_open function ; ; param PARENT_HANDLE: define NOPARENT (ZERO) ; param WIDGET_STACK_ID and WINDOW_SET: define NOWIDGET (ZERO) ; param WINDOW_REFRESH_DIVIDER: define PASSIVE_REFRESH (ZERO) define ACTIVE_REFRESH (1) ; param WINDOW_POSITION_X/Y: define POS_CENTERED (-1) ; For window_set_attrs function ; ; param ATTRIBUTE: define ALWAYS_ABOVE (1) define ALWAYS_BELOW (2) define SET_BORDER (3) define SET_DESKTOP (4) define SET_X (5) define SET_Y (6) define SET_PAGER (7) define SET_TASKBAR (8) define SET_STICKY (9) define SET_TRANSPARENT (10) ;main [exit: 0] { : "__main" ; define _e (1 + (2 + 3) * mul) ; ; if rc < 5 : the_end cmp rc (5) jb "the_end" ; ; for (mov _i (0); _i < 5; inc _i) { mov _i (0) : "__for_1_1_b" cmp _i (5) jb "__for_1_1_a" jmp "__for_1_1_c" : "__for_1_1_a" ; for (mov _j (0); _j < 5; inc _j) { mov _j (0) : "__for_1_2_b" cmp _j (5) jb "__for_1_2_a" jmp "__for_1_2_c" : "__for_1_2_a" ; break jmp "__for_1_2_c" ; } inc _j jmp "__for_1_2_b" : "__for_1_2_c" ; next jmp "__for_1_1_b" ; } inc _i jmp "__for_1_1_b" : "__for_1_1_c" ; ; loop (mov _i (0); _i < 5; inc _i) { mov _i (0) : "__for_2_1_a" ; loop (mov _j (0); _j < 5; inc _j) { mov _j (0) : "__for_2_2_a" ; next jmp "__for_2_2_b" ; } : "__for_2_2_b" inc _j cmp _j (5) jb "__for_2_2_a" : "__for_2_2_c" ; break jmp "__for_2_1_c" ; } : "__for_2_1_b" inc _i cmp _i (5) jb "__for_2_1_a" : "__for_2_1_c" ; ; while (rc < 5) { : "__for_3_1_b" cmp rc (5) jb "__for_3_1_a" jmp "__for_3_1_c" : "__for_3_1_a" ; while (rc != 5) { : "__for_3_2_b" cmp rc (5) jne "__for_3_2_a" jmp "__for_3_2_c" : "__for_3_2_a" ; } jmp "__for_3_2_b" : "__for_3_2_c" ; } jmp "__for_3_1_b" : "__for_3_1_c" ; ; do (rc < 5) { : "__for_4_1_a" ; do (rc != 5) { : "__for_4_2_a" ; } : "__for_4_2_b" cmp rc (5) jne "__for_4_2_a" : "__for_4_2_c" ; } : "__for_4_1_b" cmp rc (5) jb "__for_4_1_a" : "__for_4_1_c" ; ; synchronized { enter [int] 0 ; synchronized [oid: 1] { enter [int] 1 ; } leave [int] 1 ; } leave [int] 0 ; ; switch (rc) { : "__for_6_1_a" : "__for_6_1_b" ; case 0: : "__for_6_1_1" cmp rc (0) jne "__for_6_1_2" ; switch (rc) { : "__for_6_2_a" : "__for_6_2_b" ; case 1: : "__for_6_2_1" cmp rc (1) jne "__for_6_2_2" ; break jmp "__for_6_2_c" ; default: : "__for_6_2_2" ; } : "__for_6_2_c" ; break jmp "__for_6_1_c" ; case 5: : "__for_6_1_2" cmp rc (5) jne "__for_6_1_3" ; next jmp "__for_6_1_b" ; default: : "__for_6_1_3" ; } : "__for_6_1_c" ; ; try { : "__for_7_1_a" : "__for_7_1_b" mov rc ([int] 0) ; &my_fn call "my_fn" ; catch: cmp rc ([int] 0) je "__for_7_1_c" : "__for_7_1_1" cmp rc ([int] 0) je "__for_7_1_2" ; catch (rc < 5): : "__for_7_1_2" cmp rc (5) jae "__for_7_1_3" ; finally: : "__for_7_1_3" : "__for_7_1_c" ; } ; try rc { : "__for_8_1_a" : "__for_8_1_b" mov rc ([int] 0) ; &my_fn call "my_fn" ; catch: cmp rc ([int] 0) je "__for_8_1_c" : "__for_8_1_1" cmp rc ([int] 0) je "__for_8_1_2" ; throw (5) mov rc (5) jmp "__for_8_1_1" ; catch (5): : "__for_8_1_2" cmp rc (5) jne "__for_8_1_3" ; try { : "__for_8_2_a" : "__for_8_2_b" mov rc ([int] 0) ; &my_fn call "my_fn" ; catch (1): cmp rc ([int] 0) je "__for_8_2_c" : "__for_8_2_1" cmp rc (1) jne "__for_8_2_2" ; finally: : "__for_8_2_2" : "__for_8_2_c" ; } ; finally: : "__for_8_1_3" : "__for_8_1_c" ; } ;} exit ;finalize { : "__finalize" ;} end ;the_end: : "the_end" exit ;alarm my_alarm { : "my_alarm" ;} end ;thread my_thread { : "my_thread" ;} end ;callback my_cb { : "my_cb" ;} end ;function [entry: my_fn_entry, return: my_fn_ret] my_fn { : "my_fn" jmp "my_fn_entry" : "my_fn_entry_ret" ;} jmp "my_fn_ret" : "my_fn_ret_ret" ret ;hook my_fn_entry { : "my_fn_entry" ;} jmp "my_fn_entry_ret" ;hook my_fn_ret { : "my_fn_ret" ;} jmp "my_fn_ret_ret" ;sighandler usr1 { : "__sighandler_usr1" ;} end ;trigger rc { : "__trigger_rc" ;} end ;trigger_eval rc { : "__trigger_eval_rc" ;} end