1/* 2 This file is part of GNU APL, a free implementation of the 3 ISO/IEC Standard 13751, "Programming Language APL, Extended" 4 5 Copyright (C) 2008-2015 Dr. Jürgen Sauermann 6 7 This program is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. 19*/ 20 21 22// definition of APL commands and the functions that implement them 23 24cmd_def(")CHECK" , cmd_CHECK(out); , "" , EH_NO_PARAM) 25cmd_def(")CLEAR" , Workspace::clear_WS(out, false); , "" , EH_NO_PARAM) 26cmd_def(")CONTINUE" , cmd_CONTINUE(out); , "" , EH_NO_PARAM) 27cmd_def(")COPY" , Command::cmd_COPY(out, args, false); , "[lib] wsname [object ...]", EH_oLIB_WSNAME) 28cmd_def(")DROP" , cmd_DROP(out, args); , "[lib] wsname" , EH_oLIB_WSNAME) 29cmd_def(")DUMP-HTML", Command::cmd_DUMP(out, args, true, false);, "[[lib] wsname]" , EH_oLIB_WSNAME) 30cmd_def(")DUMPV" , Command::cmd_DUMP(out, args, false, false);, "[[lib] wsname]" , EH_oLIB_WSNAME) 31cmd_def(")DUMP" , Command::cmd_DUMP(out, args, false, true); , "[[lib] wsname]" , EH_oLIB_WSNAME) 32cmd_def(")ERASE" , cmd_ERASE(out, args); , "symbol ..." , EH_SYMBOLS) 33cmd_def(")FNS" , Workspace::list(out, LIST_FUNS, arg); , "[from-to]" , EH_oFROM_oTO) 34cmd_def(")HELP" , cmd_HELP(out, arg); , "[primitive]" , EH_PRIMITIVE) 35cmd_def(")HIST" , cmd_HISTORY(out, arg); , "[CLEAR]" , EH_oCLEAR) 36cmd_def(")HOST" , cmd_HOST(out, arg); , "command ..." , EH_HOSTCMD) 37cmd_def(")IN" , cmd_IN(out, args, false); , "filename [object ...]" , EH_FILENAME) 38cmd_def(")LIBS" , cmd_LIBS(out, args); , "[[lib] path]" , EH_oLIB_oPATH) 39cmd_def(")LIB" , cmd_LIB1(out, args); , "[lib|path] [from-to]" , EH_DIR_OR_LIB) 40cmd_def(")LOAD" , Command::cmd_LOAD(out, args, line, false); , "[lib] wsname" , EH_oLIB_WSNAME) 41cmd_def(")MORE" , cmd_MORE(out); , "" , EH_NO_PARAM) 42cmd_def(")NMS" , Workspace::list(out, LIST_NAMES, arg);, "[from-to]" , EH_oFROM_oTO) 43cmd_def(")OFF" , cmd_OFF(0); , "" , EH_NO_PARAM) 44cmd_def(")OPS" , Workspace::list(out, LIST_OPERS, arg);, "[from-to]" , EH_oFROM_oTO) 45cmd_def(")OUT" , cmd_OUT(out, args); , "filename [object ...]" , EH_FILENAME) 46cmd_def(")PCOPY" , Command::cmd_COPY(out, args, true); , "[lib] wsname [object ...]", EH_oLIB_WSNAME) 47cmd_def(")PIN" , cmd_IN(out, args, true); , "filename [object ...]" , EH_FILENAME) 48cmd_def(")QLOAD" , Command::cmd_LOAD(out, args, line, true); , "[lib] wsname" , EH_oLIB_WSNAME) 49cmd_def(")RESET" , Workspace::clear_SI(out); , "" , EH_NO_PARAM) 50cmd_def(")SAVE" , Command::cmd_SAVE(out, args); , "[[lib] wsname]" , EH_oLIB_WSNAME) 51cmd_def(")SIC" , Workspace::clear_SI(out); , "" , EH_NO_PARAM) 52cmd_def(")SINL" , Workspace::list_SI(out, SIM_SINL); , "" , EH_NO_PARAM) 53cmd_def(")SIS" , Workspace::list_SI(out, SIM_SIS); , "" , EH_NO_PARAM) 54cmd_def(")SI" , Workspace::list_SI(out, SIM_SI); , "" , EH_NO_PARAM) 55cmd_def(")SYMBOLS" , Workspace::list(out, LIST_NONE, arg); , "[count]" , EH_COUNT) 56cmd_def(")VALUES" , Value::list_all(out, false); , "" , EH_NO_PARAM) 57cmd_def(")VARS" , Workspace::list(out, LIST_VARS, arg); , "[from-to]" , EH_oFROM_oTO) 58cmd_def(")WSID" , Workspace::wsid(out, arg, LIB_WSNAME, false); , "[wsname]" , EH_oWSNAME) 59 60cmd_def("]BOXING" , cmd_BOXING(out, arg); , "[OFF|2|3|4|7|8|9]" , EH_BOXING) 61cmd_def("]COLOR" , cmd_XTERM(out, arg) , "[ON|OFF]" , EH_oON_OFF) 62cmd_def("]DOXY" , cmd_DOXY(out, args); , "[path]" , EH_oPATH) 63cmd_def("]EXPECT" , IO_Files::expect_apl_errors(arg); , "error_count" , EH_COUNT) 64cmd_def("]HELP" , cmd_HELP(out, arg); , "[primitive]" , EH_PRIMITIVE) 65cmd_def("]KEYB" , cmd_KEYB(out); , "" , EH_NO_PARAM) 66cmd_def("]LIB" , cmd_LIB2(out, args); , "[lib|path] [from-to]" , EH_DIR_OR_LIB) 67cmd_def("]LOG" , cmd_LOG(out, arg); , "[facility [ON|OFF]]" , EH_LOG_NUM) 68cmd_def("]NEXTFILE" , IO_Files::next_file(); , "" , EH_NO_PARAM) 69cmd_def("]OWNERS" , Value::list_all(out, true); , "" , EH_NO_PARAM) 70cmd_def("]PSTAT" , cmd_PSTAT(out, arg); , "[CLEAR|SAVE]" , EH_oCLEAR_SAVE) 71cmd_def("]SIS" , Workspace::list_SI(out, SIM_SIS_dbg); , "" , EH_NO_PARAM) 72cmd_def("]SI" , Workspace::list_SI(out, SIM_SI_dbg); , "" , EH_NO_PARAM) 73cmd_def("]SVARS" , Svar_DB::print(out); , "" , EH_NO_PARAM) 74cmd_def("]SYMBOL" , Workspace::get_symbol_table().list_symbol(out, arg); , "symbol" , EH_SYMNAME) 75cmd_def("]USERCMD" , cmd_USERCMD(out, arg, args); , "[ ]ucmd APL_fun [mode]" , EH_UCOMMAND) 76cmd_def(" " , {} , "" , EH_NO_PARAM) 77cmd_def(" " , {} , "| ]ucmd { ... }" , EH_NO_PARAM) 78cmd_def(" " , {} , "" , EH_NO_PARAM) 79cmd_def(" " , {} , "| REMOVE ]ucmd" , EH_NO_PARAM) 80cmd_def(" " , {} , "" , EH_NO_PARAM) 81cmd_def(" " , {} , "| REMOVE-ALL" , EH_NO_PARAM) 82cmd_def(" " , {} , "" , EH_NO_PARAM) 83cmd_def(" " , {} , "]" , EH_NO_PARAM) 84cmd_def("]XTERM" , cmd_XTERM(out, arg) , "[ON|OFF]" , EH_oON_OFF) 85 86#undef cmd_def 87