/* * @cond * The following section will be excluded from the documentation. */ /* ******************************************************************************** the C language function associated with commands, functions or operators should be declared here **********************************************************************************/ #if !defined(INCLUDE_COMMAND_TABLE) && !defined(INCLUDE_TOKEN_TABLE) // format: // void cmd_???(void) // void fun_???(void) // void op_???(void) void cmd_clear(void); void cmd_continue(void); void cmd_delete(void); void cmd_dim(void); void cmd_do(void); void cmd_else(void); void cmd_end(void); void cmd_endfun(void); void cmd_endsub(void); void cmd_erase(void); void cmd_error(void); void cmd_exit(void); void cmd_exitfor(void); void cmd_for(void); void cmd_subfun(void); void cmd_gosub(void); void cmd_goto(void); void cmd_if(void); void cmd_inc(void); void cmd_input(void); void cmd_let(void); void cmd_lineinput(void); void cmd_list(void); void cmd_load(void); void cmd_loop(void); void cmd_merge(void); void cmd_chain(void); void cmd_new(void); void cmd_next(void); void cmd_null(void); void cmd_on(void); void cmd_print(void); void cmd_randomize(void); void cmd_read(void); void cmd_restore(void); void cmd_return(void); void cmd_run(void); void cmd_save(void); void cmd_troff(void); void cmd_tron(void); void cmd_trace(void); void cmd_const(void); void cmd_select(void); void cmd_case(void); void cmd_option(void); void cmd_dump(void); void cmd_call(void); void cmd_execute(void); void cmd_mid(void); void cmd_null(void); void cmd_open(void); void cmd_close(void); void cmd_files(void); void cmd_mkdir(void); void cmd_rmdir(void); void cmd_chdir(void); void cmd_kill(void); void cmd_copy(void); void cmd_name(void); void cmd_exitmmb(void); void cmd_pause(void); void cmd_timer(void); void cmd_copyright(void); void cmd_seek(void); void cmd_library(void); void cmd_pio(void); void cmd_date(void); void cmd_time(void); void cmd_flash(void); void cmd_var(void); void cmd_flush(void); void cmd_disk(void); void cmd_play(void); void cmd_text(void); void cmd_pixel(void); void cmd_circle(void); void cmd_line(void); void cmd_box(void); void cmd_rbox(void); void cmd_arc(void) ; void cmd_triangle(void); void cmd_blit(void); void cmd_cls(void); void cmd_font(void); void cmd_colour(void); void cmd_refresh(void); void cmd_polygon(void); void cmd_gui(void); void cmd_tile(void); void cmd_mode(void); void cmd_3D(void); void cmd_framebuffer(void); void cmd_edit(void); void cmd_editfile(void); void cmd_port(void); void cmd_adc(void); void cmd_ir(void); void cmd_lcd(void); void cmd_keypad(); void cmd_backlight(void); void cmd_device(void); void cmd_sync(void); void cmd_setpin(void); void cmd_pulse(void); void cmd_pwm(void); void cmd_pin(void); void cmd_i2c(void); void cmd_i2c2(void); void cmd_rtc(void); void cmd_math(void); void cmd_memory(void); void cmd_autosave(void); void cmd_option(void); void cmd_pause(void); void cmd_timer(void); void cmd_date(void); void cmd_time(void); void cmd_ireturn(void); void cmd_poke(void); void cmd_settick(void); void cmd_watchdog(void); void cmd_cpu(void); void cmd_cfunction(void); void cmd_longString(void); void cmd_sort(void); void cmd_csubinterrupt(void); void cmd_library(void); void cmd_onewire(void); void cmd_ds18b20(void); void cmd_spi(void); void cmd_spi2(void); void cmd_xmodem(void); void cmd_ctrlval(void); void cmd_GUIpage(unsigned char *p); void cmd_gamepad(void); void cmd_sprite(void); void cmd_comment(void); void cmd_endcomment(void); void cmd_blitmemory(void); void cmd_configure(void); void cmd_colourmap(void); void cmd_map(void); void cmd_WS2812(void); void cmd_DHT22(void); void cmd_Classic(void); void cmd_Nunchuck(void); void cmd_mouse(void); void cmd_camera(void); void cmd_Servo(void); void cmd_chain(void); void cmd_psram(void); void cmd_wrap(void); void cmd_wraptarget(void); void cmd_sideset(void); void cmd_PIOline(void); void cmd_program(void); void cmd_endprogram(void); void cmd_label(void); void cmd_jmp(void); void cmd_wait(void); void cmd_in(void); void cmd_out(void); void cmd_push(void); void cmd_pull(void); void cmd_mov(void); void cmd_nop(void); void cmd_irqset(void); void cmd_irqwait(void); void cmd_irqclear(void); void cmd_irqnowait(void); void cmd_irq(void); void cmd_set(void); void cmd_byte(void); void cmd_bit(void); void cmd_flag(void); void cmd_flags(void); void cmd_frame(void); void cmd_help(void); void cmd_slice(void); void cmd_insert(void); void cmd_add(void); void cmd_arrayset(void); #ifdef PICOMITEWEB void cmd_web(void); #endif #ifdef rp2350 void cmd_loadCMM2(void); void cmd_RunCMM2(void); #endif void op_invalid(void); void op_exp(void); void op_mul(void); void op_div(void); void op_divint(void); void op_add(void); void op_subtract(void); void op_mod(void); void op_ne(void); void op_gte(void); void op_lte(void); void op_lt(void); void op_gt(void); void op_equal(void); void op_and(void); void op_or(void); void op_xor(void); void op_not(void); void op_shiftleft(void); void op_shiftright(void); void op_inv(void); void fun_pin(void); void fun_port(void); void fun_distance(void); void fun_pulsin(void); void fun_rgb(void); void fun_mmhres(void); void fun_mmvres(void); void fun_mmcharwidth(void); void fun_mmcharheight(void); void fun_at(void); void fun_pixel(void); void fun_getscanline(void); void fun_3D(void); void fun_sprite(void); void fun_eof(void); void fun_loc(void); void fun_lof(void); void fun_cwd(void); void fun_inputstr(void); void fun_mmfname(void); void fun_dir(void); void fun_date(void); void fun_time(void); void fun_timer(void); void fun_device(void); void fun_pio(void); void fun_abs(void); void fun_asc(void); void fun_atn(void); void fun_atan2(void); void fun_bin(void); void fun_chr(void); void fun_cint(void); void fun_cos(void); void fun_deg(void); void fun_exp(void); void fun_fix(void); void fun_hex(void); void fun_inkey(void); void fun_instr(void); void fun_int(void); void fun_lcase(void); void fun_left(void); void fun_len(void); void fun_log(void); void fun_errno(void); void fun_errmsg(void); void fun_mid(void); void fun_oct(void); void fun_peek(void); void fun_pi(void); void fun_pos(void); void fun_rad(void); void fun_right(void); void fun_rnd(void); void fun_sgn(void); void fun_sin(void); void fun_space(void); void fun_sqr(void); void fun_str(void); void fun_string(void); void fun_tab(void); void fun_tan(void); void fun_ucase(void); void fun_val(void); void fun_eval(void); void fun_version(void); void fun_asin(void); void fun_acos(void); void fun_field(void); void fun_max(void); void fun_min(void); void fun_bin2str(void); void fun_str2bin(void); void fun_test(void); void fun_bound(void); void fun_ternary(void); void fun_call(void); void fun_GPS(void); void fun_mmi2c(void); void fun_math(void); void fun_timer(void); void fun_date(void); void fun_time(void); void fun_keydown(void); void fun_peek(void); void fun_restart(void); void fun_day(void); void fun_info(void); void fun_LLen(void); void fun_LGetByte(void); void fun_LGetStr(void); void fun_LCompare(void); void fun_LInstr(void); void fun_epoch(void); void fun_datetime(void); void fun_json(void); void cmd_update(void); void fun_format(void); void fun_mmOW(void); void fun_ds18b20(void); void fun_pixel(void); void fun_getscanline(void); void fun_spi(void); void fun_spi2(void); void fun_msgbox(void); void fun_ctrlval(void); void fun_mmhpos(void); void fun_mmvpos(void); void fun_tilde(void); void fun_byte(void); void fun_bit(void); void fun_flag(void); #ifdef PICOMITEWEB void fun_json(void); #endif void fun_dev(void); void fun_map(void); #endif /* ******************************************************************************** All command tokens tokens (eg, PRINT, FOR, etc) should be inserted in this table **********************************************************************************/ #ifdef INCLUDE_COMMAND_TABLE { (unsigned char *)"Call", T_CMD, 0, cmd_call }, { (unsigned char *)"Clear", T_CMD, 0, cmd_clear }, { (unsigned char *)"Continue", T_CMD, 0, cmd_continue }, { (unsigned char *)"Data", T_CMD, 0, cmd_null }, { (unsigned char *)"Dim", T_CMD, 0, cmd_dim }, { (unsigned char *)"Do", T_CMD, 0, cmd_do }, { (unsigned char *)"Else If", T_CMD, 0, cmd_else }, { (unsigned char *)"End If", T_CMD, 0, cmd_null }, { (unsigned char *)"Exit Do", T_CMD, 0, cmd_exit }, { (unsigned char *)"ElseIf", T_CMD, 0, cmd_else }, { (unsigned char *)"Case Else", T_CMD, 0, cmd_case }, { (unsigned char *)"Else", T_CMD, 0, cmd_else }, { (unsigned char *)"Select Case", T_CMD, 0, cmd_select }, { (unsigned char *)"End Select", T_CMD, 0, cmd_null }, { (unsigned char *)"Case", T_CMD, 0, cmd_case }, { (unsigned char *)"EndIf", T_CMD, 0, cmd_null }, { (unsigned char *)"End Function", T_CMD, 0, cmd_endfun }, // this entry must come before END and FUNCTION { (unsigned char *)"End Sub", T_CMD, 0, cmd_return }, // this entry must come before END and SUB { (unsigned char *)"End", T_CMD, 0, cmd_end }, { (unsigned char *)"Erase", T_CMD, 0, cmd_erase }, { (unsigned char *)"Error", T_CMD, 0, cmd_error }, { (unsigned char *)"Exit For", T_CMD, 0, cmd_exitfor }, // this entry must come before EXIT and FOR { (unsigned char *)"Exit Sub", T_CMD, 0, cmd_return }, // this entry must come before EXIT and SUB { (unsigned char *)"Exit Function", T_CMD, 0, cmd_endfun }, // this entry must come before EXIT and FUNCTION { (unsigned char *)"Exit", T_CMD, 0, cmd_exit }, { (unsigned char *)"For", T_CMD, 0, cmd_for }, { (unsigned char *)"Function", T_CMD, 0, cmd_subfun }, { (unsigned char *)"GoSub", T_CMD, 0, cmd_gosub }, { (unsigned char *)"GoTo", T_CMD, 0, cmd_goto }, { (unsigned char *)"Inc", T_CMD, 0, cmd_inc }, { (unsigned char *)"If", T_CMD, 0, cmd_if }, { (unsigned char *)"Line Input", T_CMD, 0, cmd_lineinput}, // this entry must come before INPUT { (unsigned char *)"Input", T_CMD, 0, cmd_input }, { (unsigned char *)"Let", T_CMD, 0, cmd_let }, { (unsigned char *)"List", T_CMD, 0, cmd_list }, { (unsigned char *)"Load", T_CMD, 0, cmd_load }, { (unsigned char *)"Local", T_CMD, 0, cmd_dim }, { (unsigned char *)"Loop", T_CMD, 0, cmd_loop }, { (unsigned char *)"Next", T_CMD, 0, cmd_next }, { (unsigned char *)"On", T_CMD, 0, cmd_on }, { (unsigned char *)"Print", T_CMD, 0, cmd_print }, { (unsigned char *)"Read", T_CMD, 0, cmd_read }, { (unsigned char *)"Rem", T_CMD, 0, cmd_null, }, { (unsigned char *)"Restore", T_CMD, 0, cmd_restore }, { (unsigned char *)"Return", T_CMD, 0, cmd_return, }, { (unsigned char *)"Run", T_CMD, 0, cmd_run }, { (unsigned char *)"Save", T_CMD, 0, cmd_save }, { (unsigned char *)"Static", T_CMD, 0, cmd_dim }, { (unsigned char *)"Sub", T_CMD, 0, cmd_subfun }, { (unsigned char *)"Trace", T_CMD, 0, cmd_trace }, { (unsigned char *)"While", T_CMD, 0, cmd_do }, { (unsigned char *)"Const", T_CMD, 0, cmd_const }, { (unsigned char *)"Execute", T_CMD, 0, cmd_execute }, { (unsigned char *)"MID$(", T_CMD | T_FUN, 0, cmd_mid }, { (unsigned char *)"/*", T_CMD, 0, cmd_comment }, { (unsigned char *)"*/", T_CMD, 0, cmd_endcomment }, { (unsigned char *)"Open", T_CMD, 0, cmd_open }, { (unsigned char *)"Close", T_CMD, 0, cmd_close }, { (unsigned char *)"Kill", T_CMD, 0, cmd_kill }, { (unsigned char *)"Rmdir", T_CMD, 0, cmd_rmdir }, { (unsigned char *)"Chdir", T_CMD, 0, cmd_chdir }, { (unsigned char *)"Mkdir", T_CMD, 0, cmd_mkdir }, { (unsigned char *)"Copy", T_CMD, 0, cmd_copy }, { (unsigned char *)"Rename", T_CMD, 0, cmd_name }, { (unsigned char *)"Seek", T_CMD, 0, cmd_seek }, { (unsigned char *)"Flash", T_CMD, 0, cmd_flash }, { (unsigned char *)"VAR", T_CMD, 0, cmd_var }, { (unsigned char *)"Flush", T_CMD, 0, cmd_flush }, { (unsigned char *)"Drive", T_CMD, 0, cmd_disk }, { (unsigned char *)"Play", T_CMD, 0, cmd_play }, { (unsigned char *)"PIO", T_CMD, 0, cmd_pio }, { (unsigned char *)"New", T_CMD, 0, cmd_new }, { (unsigned char *)"Pixel", T_CMD, 0, cmd_pixel }, { (unsigned char *)"Circle", T_CMD, 0, cmd_circle }, { (unsigned char *)"Line", T_CMD, 0, cmd_line }, { (unsigned char *)"Box", T_CMD, 0, cmd_box }, { (unsigned char *)"RBox", T_CMD, 0, cmd_rbox }, { (unsigned char *)"CLS", T_CMD, 0, cmd_cls }, { (unsigned char *)"Font", T_CMD, 0, cmd_font }, { (unsigned char *)"Triangle", T_CMD, 0, cmd_triangle }, { (unsigned char *)"Arc", T_CMD, 0, cmd_arc }, { (unsigned char *)"Polygon", T_CMD, 0, cmd_polygon }, { (unsigned char *)"FRAMEBUFFER", T_CMD, 0, cmd_framebuffer }, { (unsigned char *)"Sprite", T_CMD, 0, cmd_sprite }, { (unsigned char *)"Blit", T_CMD, 0, cmd_blit }, { (unsigned char *)"Edit File", T_CMD, 0, cmd_editfile }, { (unsigned char *)"Edit", T_CMD, 0, cmd_edit }, { (unsigned char *)"ADC", T_CMD, 0, cmd_adc }, { (unsigned char *)"Pin(", T_CMD | T_FUN, 0, cmd_pin }, { (unsigned char *)"SetPin", T_CMD, 0, cmd_setpin }, { (unsigned char *)"Pulse", T_CMD, 0, cmd_pulse }, { (unsigned char *)"Port(", T_CMD | T_FUN, 0, cmd_port }, { (unsigned char *)"IR", T_CMD, 0, cmd_ir }, { (unsigned char *)"Blit Memory", T_CMD, 0, cmd_blitmemory }, #ifdef GUICONTROLS { (unsigned char *)"GUI", T_CMD, 0, cmd_gui }, #else { (unsigned char *)"GUI", T_CMD, 0, cmd_guiMX170 }, #endif { (unsigned char *)"Device", T_CMD, 0, cmd_device }, { (unsigned char *)"PWM", T_CMD, 0, cmd_pwm }, { (unsigned char *)"CSub", T_CMD, 0, cmd_cfunction}, { (unsigned char *)"End CSub", T_CMD, 0, cmd_null }, { (unsigned char *)"SYNC", T_CMD, 0, cmd_sync }, { (unsigned char *)"I2C", T_CMD, 0, cmd_i2c }, { (unsigned char *)"I2C2", T_CMD, 0, cmd_i2c2 }, { (unsigned char *)"RTC", T_CMD, 0, cmd_rtc }, { (unsigned char *)"Math", T_CMD, 0, cmd_math }, { (unsigned char *)"Memory", T_CMD, 0, cmd_memory }, { (unsigned char *)"Option", T_CMD, 0, cmd_option }, { (unsigned char *)"Pause", T_CMD, 0, cmd_pause }, { (unsigned char *)"Timer", T_CMD | T_FUN, 0, cmd_timer }, { (unsigned char *)"Date$", T_CMD | T_FUN, 0, cmd_date }, { (unsigned char *)"Time$", T_CMD | T_FUN, 0, cmd_time }, { (unsigned char *)"IReturn", T_CMD, 0, cmd_ireturn }, { (unsigned char *)"Poke", T_CMD, 0, cmd_poke }, { (unsigned char *)"SetTick", T_CMD, 0, cmd_settick }, { (unsigned char *)"WatchDog", T_CMD, 0, cmd_watchdog }, { (unsigned char *)"CPU", T_CMD, 0, cmd_cpu }, { (unsigned char *)"Sort", T_CMD, 0, cmd_sort }, { (unsigned char *)"DefineFont", T_CMD, 0, cmd_cfunction}, { (unsigned char *)"End DefineFont", T_CMD, 0, cmd_null }, { (unsigned char *)"LongString", T_CMD, 0, cmd_longString }, { (unsigned char *)"Interrupt", T_CMD, 0, cmd_csubinterrupt}, { (unsigned char *)"Library", T_CMD, 0, cmd_library }, { (unsigned char *)"OneWire", T_CMD, 0, cmd_onewire }, { (unsigned char *)"TEMPR START", T_CMD, 0, cmd_ds18b20 }, { (unsigned char *)"SPI", T_CMD, 0, cmd_spi }, { (unsigned char *)"SPI2", T_CMD, 0, cmd_spi2 }, { (unsigned char *)"XModem", T_CMD, 0, cmd_xmodem }, { (unsigned char *)"Cat", T_CMD, 0, cmd_inc }, { (unsigned char *)"Color", T_CMD, 0, cmd_colour }, { (unsigned char *)"Files", T_CMD, 0, cmd_files }, { (unsigned char *)"Text", T_CMD, 0, cmd_text }, { (unsigned char *)"Autosave", T_CMD, 0, cmd_autosave }, { (unsigned char *)"WS2812", T_CMD, 0, cmd_WS2812 }, { (unsigned char *)"Keypad", T_CMD, 0, cmd_keypad }, { (unsigned char *)"Humid", T_CMD, 0, cmd_DHT22 }, { (unsigned char *)"LCD", T_CMD, 0, cmd_lcd }, { (unsigned char *)"Wii Classic", T_CMD, 0, cmd_Classic }, { (unsigned char *)"Wii Nunchuck", T_CMD, 0, cmd_Nunchuck }, { (unsigned char *)"Wii", T_CMD, 0, cmd_Classic }, { (unsigned char *)"Servo", T_CMD, 0, cmd_Servo }, { (unsigned char *)"Mouse", T_CMD, 0, cmd_mouse }, { (unsigned char *)"Chain", T_CMD, 0, cmd_chain }, { (unsigned char *)"_wrap target", T_CMD, 0, cmd_wraptarget }, { (unsigned char *)"_wrap", T_CMD, 0, cmd_wrap }, { (unsigned char *)"_line", T_CMD, 0, cmd_PIOline }, { (unsigned char *)"_program", T_CMD, 0, cmd_program }, { (unsigned char *)"_end program", T_CMD, 0, cmd_endprogram }, { (unsigned char *)"_side set", T_CMD, 0, cmd_sideset }, { (unsigned char *)"_label", T_CMD, 0, cmd_label }, { (unsigned char *)"Jmp", T_CMD, 0, cmd_jmp }, { (unsigned char *)"Wait", T_CMD, 0, cmd_wait }, { (unsigned char *)"In", T_CMD, 0, cmd_in }, { (unsigned char *)"Out", T_CMD, 0, cmd_out }, { (unsigned char *)"Push", T_CMD, 0, cmd_push }, { (unsigned char *)"Pull", T_CMD, 0, cmd_pull }, { (unsigned char *)"Mov", T_CMD, 0, cmd_mov }, { (unsigned char *)"Nop", T_CMD, 0, cmd_nop }, { (unsigned char *)"IRQ SET", T_CMD, 0, cmd_irqset }, { (unsigned char *)"IRQ WAIT", T_CMD, 0, cmd_irqwait }, { (unsigned char *)"IRQ CLEAR", T_CMD, 0, cmd_irqclear }, { (unsigned char *)"IRQ NOWAIT",T_CMD, 0, cmd_irqnowait }, { (unsigned char *)"IRQ", T_CMD, 0, cmd_irq }, { (unsigned char *)"Set", T_CMD, 0, cmd_set }, { (unsigned char *)"Byte(", T_CMD | T_FUN, 0, cmd_byte }, { (unsigned char *)"Flag(", T_CMD | T_FUN, 0, cmd_flag }, /*frame { (unsigned char *)"Frame", T_CMD | T_FUN, 0, cmd_frame }, */ #ifdef PICOMITEVGA { (unsigned char *)"TILE", T_CMD, 0, cmd_tile }, { (unsigned char *)"MODE", T_CMD, 0, cmd_mode }, { (unsigned char *)"Map(", T_CMD | T_FUN , 0, cmd_map }, { (unsigned char *)"Map", T_CMD, 0, cmd_map }, { (unsigned char *)"Colour Map", T_CMD, 0, cmd_colourmap }, #else { (unsigned char *)"Camera", T_CMD, 0, cmd_camera }, { (unsigned char *)"Refresh", T_CMD, 0, cmd_refresh }, #endif #ifdef GUICONTROLS { (unsigned char *)"CtrlVal(", T_CMD | T_FUN, 0, cmd_ctrlval }, #endif #ifdef PICOMITE { (unsigned char *)"Backlight", T_CMD, 0, cmd_backlight }, #endif #ifdef PICOMITEWEB { (unsigned char *)"Backlight", T_CMD, 0, cmd_backlight }, { (unsigned char *)"WEB", T_CMD, 0, cmd_web }, #else { (unsigned char *)"Draw3D", T_CMD, 0, cmd_3D }, #endif #ifndef USBKEYBOARD { (unsigned char *)"Update Firmware", T_CMD, 0, cmd_update}, #else { (unsigned char *)"Gamepad", T_CMD, 0, cmd_gamepad }, #endif { (unsigned char *)"Configure", T_CMD, 0, cmd_configure }, { (unsigned char *)"Colour", T_CMD, 0, cmd_colour }, #ifdef rp2350 { (unsigned char *)"CMM2 Load", T_CMD, 0, cmd_loadCMM2 }, { (unsigned char *)"CMM2 Run", T_CMD, 0, cmd_RunCMM2 }, { (unsigned char *)"Randomize", T_CMD, 0, cmd_null}, #ifndef PICOMITEWEB { (unsigned char *)"Ram", T_CMD, 0, cmd_psram }, #endif #else { (unsigned char *)"Randomize", T_CMD, 0, cmd_randomize}, #endif { (unsigned char *)"Bit(", T_CMD | T_FUN, 0, cmd_bit }, { (unsigned char *)"Flags", T_CMD | T_FUN, 0, cmd_flags }, { (unsigned char *)"Help", T_CMD | T_FUN, 0, cmd_help }, { (unsigned char *)"Array Slice", T_CMD, 0, cmd_slice }, { (unsigned char *)"Array Insert", T_CMD, 0, cmd_insert }, { (unsigned char *)"Array Add", T_CMD, 0, cmd_add }, { (unsigned char *)"Array Set", T_CMD, 0, cmd_arrayset }, { (unsigned char *)"", 0, 0, cmd_null, } // this dummy entry is always at the end #endif /* ******************************************************************************** All other tokens (keywords, functions, operators) should be inserted in this table **********************************************************************************/ #ifdef INCLUDE_TOKEN_TABLE // These 4 operators mustn't be moved { (unsigned char *)"Not", T_OPER | T_NBR | T_INT, 3, op_not }, { (unsigned char *)"INV", T_OPER | T_NBR | T_INT, 3, op_inv }, { (unsigned char *)"+", T_OPER | T_NBR | T_INT | T_STR, 2, op_add }, { (unsigned char *)"-", T_OPER | T_NBR | T_INT, 2, op_subtract }, // { (unsigned char *)"^", T_OPER | T_NBR | T_INT, 0, op_exp }, { (unsigned char *)"*", T_OPER | T_NBR | T_INT, 1, op_mul }, { (unsigned char *)"/", T_OPER | T_NBR, 1, op_div }, { (unsigned char *)"\\", T_OPER | T_INT, 1, op_divint }, { (unsigned char *)"Mod", T_OPER | T_INT, 1, op_mod }, { (unsigned char *)"<<", T_OPER | T_INT, 4, op_shiftleft }, { (unsigned char *)">>", T_OPER | T_INT, 4, op_shiftright }, { (unsigned char *)"<>", T_OPER | T_NBR | T_INT | T_STR, 5, op_ne }, { (unsigned char *)">=", T_OPER | T_NBR | T_INT | T_STR, 5, op_gte }, { (unsigned char *)"<=", T_OPER | T_NBR | T_INT | T_STR, 5, op_lte }, { (unsigned char *)"<", T_OPER | T_NBR | T_INT | T_STR, 5, op_lt }, { (unsigned char *)">", T_OPER | T_NBR | T_INT | T_STR, 5, op_gt }, { (unsigned char *)"=", T_OPER | T_NBR | T_INT | T_STR, 6, op_equal }, { (unsigned char *)"And", T_OPER | T_INT, 7, op_and }, { (unsigned char *)"Or", T_OPER | T_INT, 7, op_or }, { (unsigned char *)"Xor", T_OPER | T_INT, 7, op_xor }, { (unsigned char *)"ACos(", T_FUN | T_NBR, 0, fun_acos }, { (unsigned char *)"Abs(", T_FUN | T_NBR | T_INT, 0, fun_abs }, { (unsigned char *)"Asc(", T_FUN | T_INT, 0, fun_asc }, { (unsigned char *)"ASin(", T_FUN | T_NBR, 0, fun_asin }, { (unsigned char *)"Atn(", T_FUN | T_NBR, 0, fun_atn }, { (unsigned char *)"Atan2(", T_FUN | T_NBR, 0, fun_atan2 }, { (unsigned char *)"Bin$(", T_FUN | T_STR, 0, fun_bin }, { (unsigned char *)"Bound(", T_FUN | T_INT, 0, fun_bound }, { (unsigned char *)"Choice(", T_FUN | T_STR | T_INT | T_NBR, 0, fun_ternary }, { (unsigned char *)"Chr$(", T_FUN | T_STR, 0, fun_chr, }, { (unsigned char *)"Cint(", T_FUN | T_INT, 0, fun_cint }, { (unsigned char *)"Cos(", T_FUN | T_NBR, 0, fun_cos }, { (unsigned char *)"Deg(", T_FUN | T_NBR, 0, fun_deg }, { (unsigned char *)"Exp(", T_FUN | T_NBR, 0, fun_exp }, { (unsigned char *)"Field$(", T_FUN | T_STR, 0, fun_field }, { (unsigned char *)"Fix(", T_FUN | T_INT, 0, fun_fix }, { (unsigned char *)"Hex$(", T_FUN | T_STR, 0, fun_hex }, { (unsigned char *)"Inkey$", T_FNA | T_STR, 0, fun_inkey }, { (unsigned char *)"Instr(", T_FUN | T_INT, 0, fun_instr}, { (unsigned char *)"Int(", T_FUN | T_INT, 0, fun_int }, { (unsigned char *)"LCase$(", T_FUN | T_STR, 0, fun_lcase }, { (unsigned char *)"Left$(", T_FUN | T_STR, 0, fun_left }, { (unsigned char *)"Len(", T_FUN | T_INT, 0, fun_len }, { (unsigned char *)"Log(", T_FUN | T_NBR, 0, fun_log }, { (unsigned char *)"Mid$(", T_FUN | T_STR, 0, fun_mid }, { (unsigned char *)"TEMPR(", T_FUN | T_NBR, 0, fun_ds18b20 }, { (unsigned char *)"SPI(", T_FUN | T_INT, 0, fun_spi, }, { (unsigned char *)"Oct$(", T_FUN | T_STR, 0, fun_oct }, { (unsigned char *)"Pi", T_FNA | T_NBR, 0, fun_pi }, { (unsigned char *)"Pos", T_FNA | T_INT, 0, fun_pos }, { (unsigned char *)"Rad(", T_FUN | T_NBR, 0, fun_rad }, { (unsigned char *)"Right$(", T_FUN | T_STR, 0, fun_right }, { (unsigned char *)"Rnd(", T_FUN | T_NBR, 0, fun_rnd }, // this must come before Rnd - without bracket { (unsigned char *)"Rnd", T_FNA | T_NBR, 0, fun_rnd }, // this must come after Rnd( { (unsigned char *)"Sgn(", T_FUN | T_INT, 0, fun_sgn }, { (unsigned char *)"Sin(", T_FUN | T_NBR, 0, fun_sin }, { (unsigned char *)"Space$(", T_FUN | T_STR, 0, fun_space }, { (unsigned char *)"Sqr(", T_FUN | T_NBR, 0, fun_sqr }, { (unsigned char *)"Str$(", T_FUN | T_STR, 0, fun_str }, { (unsigned char *)"String$(", T_FUN | T_STR, 0, fun_string }, { (unsigned char *)"Tab(", T_FUN | T_STR, 0, fun_tab, }, { (unsigned char *)"Tan(", T_FUN | T_NBR, 0, fun_tan }, { (unsigned char *)"UCase$(", T_FUN | T_STR, 0, fun_ucase }, { (unsigned char *)"Val(", T_FUN | T_NBR | T_INT, 0, fun_val }, { (unsigned char *)"Eval(", T_FUN | T_NBR | T_INT | T_STR, 0, fun_eval }, { (unsigned char *)"Max(", T_FUN | T_NBR, 0, fun_max }, { (unsigned char *)"Min(", T_FUN | T_NBR, 0, fun_min }, { (unsigned char *)"Bin2str$(", T_FUN | T_STR, 0, fun_bin2str }, { (unsigned char *)"Str2bin(", T_FUN | T_NBR | T_INT, 0, fun_str2bin }, { (unsigned char *)"Call(", T_FUN | T_STR | T_INT | T_NBR, 0, fun_call }, { (unsigned char *)"For", T_NA, 0, op_invalid }, { (unsigned char *)"Else", T_NA, 0, op_invalid }, { (unsigned char *)"GoSub", T_NA, 0, op_invalid }, { (unsigned char *)"GoTo", T_NA, 0, op_invalid }, { (unsigned char *)"Step", T_NA, 0, op_invalid }, { (unsigned char *)"Then", T_NA, 0, op_invalid }, { (unsigned char *)"To", T_NA, 0, op_invalid }, { (unsigned char *)"Until", T_NA, 0, op_invalid }, { (unsigned char *)"While", T_NA, 0, op_invalid }, { (unsigned char *)"Eof(", T_FUN | T_INT, 0, fun_eof }, { (unsigned char *)"Loc(", T_FUN | T_INT, 0, fun_loc }, { (unsigned char *)"Lof(", T_FUN | T_INT, 0, fun_lof }, { (unsigned char *)"Cwd$", T_FNA | T_STR, 0, fun_cwd }, { (unsigned char *)"As", T_NA, 0, op_invalid }, { (unsigned char *)"Input$(", T_FUN | T_STR, 0, fun_inputstr }, { (unsigned char *)"Dir$(", T_FUN | T_STR, 0, fun_dir }, { (unsigned char *)"Pio(", T_FUN | T_INT, 0, fun_pio }, { (unsigned char *)"RGB(", T_FUN | T_INT, 0, fun_rgb }, { (unsigned char *)"Pixel(", T_FUN | T_INT, 0, fun_pixel }, { (unsigned char *)"SPI2(", T_FUN | T_INT, 0, fun_spi2, }, { (unsigned char *)"DEVICE(", T_FUN | T_INT| T_NBR | T_STR, 0, fun_dev, }, { (unsigned char *)"@(", T_FUN | T_STR, 0, fun_at }, { (unsigned char *)"Pin(", T_FUN | T_NBR | T_INT, 0, fun_pin }, { (unsigned char *)"Port(", T_FUN | T_INT, 0, fun_port }, { (unsigned char *)"Distance(", T_FUN | T_NBR, 0, fun_distance }, { (unsigned char *)"Pulsin(", T_FUN | T_INT, 0, fun_pulsin }, { (unsigned char *)"GPS(", T_FUN | T_NBR | T_INT| T_STR, 0, fun_GPS }, { (unsigned char *)"Byte(", T_FUN | T_INT, 0, fun_byte, }, { (unsigned char *)"Math(", T_FUN | T_NBR | T_INT, 0, fun_math }, { (unsigned char *)"Timer", T_FNA | T_NBR , 0, fun_timer }, { (unsigned char *)"LInStr(", T_FUN | T_INT, 0, fun_LInstr }, { (unsigned char *)"LCompare(", T_FUN | T_INT, 0, fun_LCompare }, { (unsigned char *)"LLen(", T_FUN | T_INT, 0, fun_LLen }, { (unsigned char *)"LGetStr$(", T_FUN | T_STR, 0, fun_LGetStr }, { (unsigned char *)"LGetByte(", T_FUN | T_INT, 0, fun_LGetByte }, { (unsigned char *)"Date$", T_FNA | T_STR, 0, fun_date }, { (unsigned char *)"Day$(", T_FUN | T_STR, 0, fun_day }, { (unsigned char *)"Peek(", T_FUN | T_INT | T_STR | T_NBR, 0, fun_peek }, { (unsigned char *)"Time$", T_FNA | T_STR, 0, fun_time }, { (unsigned char *)"sprite(", T_FUN | T_INT | T_NBR, 0, fun_sprite }, { (unsigned char *)"Flag(", T_FUN | T_INT, 0, fun_flag, }, { (unsigned char *)"Epoch(", T_FUN | T_INT, 0, fun_epoch }, { (unsigned char *)"DateTime$(", T_FUN | T_STR, 0, fun_datetime }, { (unsigned char *)"MM.Info(", T_FUN | T_INT | T_NBR| T_STR, 0, fun_info }, { (unsigned char *)"Format$(", T_FUN | T_STR, 0, fun_format }, { (unsigned char*)"~(", T_FUN | T_INT | T_NBR | T_STR , 0, fun_tilde }, #ifdef USBKEYBOARD { (unsigned char*)"KeyDown(", T_FUN | T_INT, 0, fun_keydown }, #endif #ifdef PICOMITEVGA { (unsigned char*)"DRAW3D(", T_FUN | T_INT, 0, fun_3D, }, { (unsigned char *)"GetScanLine", T_FNA | T_INT, 0, fun_getscanline }, { (unsigned char*)"Map(", T_FUN | T_INT, 0, fun_map, }, #else { (unsigned char *)"Touch(", T_FUN | T_INT, 0, fun_touch }, #endif #ifdef PICOMITEWEB { (unsigned char *)"Json$(", T_FUN | T_STR, 0, fun_json }, #endif #ifdef GUICONTROLS { (unsigned char *)"MsgBox(", T_FUN | T_INT, 0, fun_msgbox }, { (unsigned char *)"CtrlVal(", T_FUN | T_NBR | T_STR, 0, fun_ctrlval }, #endif { (unsigned char *)"Bit(", T_FUN | T_INT, 0, fun_bit, }, { (unsigned char *)"", 0, 0, cmd_null, } // this dummy entry is always at the end #endif /* @endcond */