1/* automagicaly generated file */
2static struct KEYWORD_HELP {
3 const char *package;
4 const char *keyword;
5 const char *signature;
6 const char *nodeId;
7 const char *help;
8} keyword_help[] = {
9{"Console","AT","AT x, y","521","Moves the console cursor to the specified position. x,y are in pixels."},
10{"Console","BEEP","BEEP","522","Generates a beep sound."},
11{"Console","CAT","CAT (x)","538","Returns a console code. 0 = reset, 1 = bold, -1 bold-off, 2 = underline, -2 = underline-off, 3 = reverse, -3 = reverse-off."},
12{"Console","CLS","CLS ","524","Clears the screen."},
13{"Console","DEFINEKEY","DEFINEKEY k,sub","1015","Binds a keystroke to a user defined function"},
14{"Console","FORM","FORM(map)","525","Creates a form object from a MAP variable. This provides access to the following sub-commands: doEvents, close, refresh. The form MAP may contain the following properties: value, inputs, focus. Inputs is an array of MAP, each may contain the following properties: x, y, width, height, value, label, name, type, backgroundColor, color, visible, isExit, selectedIndex, length, noFocus, onclick"},
15{"Console","INKEY","INKEY","539","Returns the last key-code in keyboard buffer, or an empty string if there are no keys. Special key-codes like the function-keys are returned as 2-byte string."},
16{"Console","INPUT","INPUT [prompt,|;] var[, var [, ...]]","527","Reads from \"keyboard\" text and stores it in a variable."},
17{"Console","LINEINPUT","LINEINPUT [#fileN] var","528","Reads a whole text line from file or console."},
18{"Console","LINPUT","LINPUT [#fileN] var","529","Reads a whole text line from file or console."},
19{"Console","LOCATE","LOCATE y, x","530","Moves the console cursor to the specified position. x,y are in character cells."},
20{"Console","LOGPRINT","LOGPRINT ...","531","PRINT to the application logfile. The syntax is the same as command PRINT."},
21{"Console","NOSOUND","NOSOUND","532","Stop background sound and clear the sound queue."},
22{"Console","PEN","PEN ON|OFF","533","Enables/Disables the PEN/MOUSE mechanism."},
23{"Console","PLAY","PLAY string","534","Play musical notes."},
24{"Console","PRINT","PRINT [USING [format];] [expr|str [,|; [expr|str]] ...","535","Display text or the value of an expression."},
25{"Console","SOUND","SOUND freq, dur_ms [, vol] [BG]","536","Plays a sound."},
26{"Console","TAB","TAB (n)","540","Moves cursor position to the nth column."},
27{"Data","APPEND","APPEND a, val [, val [, ...]]","581","Inserts the values at the end of the specified array."},
28{"Data","ARRAY","ARRAY [var | expr]","1432","Creates a ARRAY or MAP variable from the given string or expression"},
29{"Data","CDBL","CDBL (x)","552","Convert x to 64b real number. Meaningless. Used for compatibility."},
30{"Data","CINT","CINT (x)","553","Converts x to 32b integer. Meaningless. Used for compatibility."},
31{"Data","CREAL","CREAL (x)","554","Convert x to 64b real number. Meaningless. Used for compatibility."},
32{"Data","DATA","DATA constant1 [,constant2]...","569","Stores one or more constants, of any type, for subsequent access via READ command."},
33{"Data","DELETE","DELETE a, idx [, count]","542","Deletes 'count' elements at position 'idx' of array 'a'."},
34{"Data","DIM","DIM var([lower TO] upper [, ...]) [, ...]","570","Reserves storage space for an array."},
35{"Data","EMPTY","EMPTY (x)","543","Returns true if x is: a zero length array, an empty string, an integer or real with the value 0."},
36{"Data","ERASE","ERASE var[, var[, ... var]]","571","Deallocates the memory used by the specified arrays or variables. After that these variables turned to simple integers with zero value."},
37{"Data","INSERT","INSERT a, idx, val [, val [, ...]]]","544","Inserts the values to the specified array at the position idx."},
38{"Data","ISARRAY","ISARRAY (x)","555","Returns true if x is an array."},
39{"Data","ISDIR","ISDIR (x)","556","Returns true if x is a directory."},
40{"Data","ISFILE","ISFILE (x)","557","Returns true if x is a regular file."},
41{"Data","ISLINK","ISLINK (x)","558","Returns true if x is a link."},
42{"Data","ISMAP","ISMAP (x)","1430","Returns true if x is an MAP variable type. A MAP provides value-key pair access along with array or dotted notation. The MAP can be initialized from a String variable using the ARRAY command."},
43{"Data","ISNUMBER","ISNUMBER (x)","559","Returns true if x is a number (or it can be converted to a number)."},
44{"Data","ISSTRING","ISSTRING (x)","560","Returns true if x is a string (and cannot be converted to a number)."},
45{"Data","LBOUND","LBOUND (array [, dim])","561","Returns the lower bound of 'array'."},
46{"Data","LEN","LEN(d)","562","Returns the length of the value contained in the variable."},
47{"Data","READ","READ var[, var ...]","546","Assigns values in DATA items to specified variables."},
48{"Data","REDIM","REDIM x","547","Same as DIM only the contents of x are preserved."},
49{"Data","RESTORE","RESTORE label","572","Specifies the position of the next data to be read."},
50{"Data","SEARCH","SEARCH A, key, BYREF ridx [USE cmpfunc]","548","Scans an array for the key. If key is not found the SEARCH command returns (in ridx) the value. (LBOUND(A)-1). In default-base arrays that means -1. The cmpfunc (if its specified) it takes 2 vars to compare. It must return 0 if x = y; non-zero if x <> y."},
51{"Data","SORT","SORT array [USE cmpfunc]","549","Sorts an array. The cmpfunc if specified, takes 2 vars to compare and must return: -1 if x < y, +1 if x > y, 0 if x = y."},
52{"Data","SWAP","SWAP a, b","550","Exchanges the values of two variables. The parameters may be variables of any type."},
53{"Data","UBOUND","UBOUND (array [, dim])","567","Returns the upper bound of 'array'."},
54{"Date","DATE","DATE","575","Returns the current date as string \"DD/MM/YYYY\"."},
55{"Date","DATEDMY","DATEDMY dmy| julian_date, BYREF d, BYREF m, BYREF y","573","Returns the day, month and the year as integers."},
56{"Date","DATEFMT","DATEFMT (format, dmy| (d,m,y)| julian_date)","576","Returns formatted date string."},
57{"Date","JULIAN","JULIAN (dmy| (d,m,y))","577","Returns the Julian date. (dates must be greater than 1/1/100 AD)."},
58{"Date","TICKS","TICKS","1448","Returns the number of milliseconds that have elapsed between successive calls."},
59{"Date","TIME","TIME","578","Returns the current time as string \"HH:MM:SS\"."},
60{"Date","TIMEHMS","TIMEHMS hms| timer, BYREF h, BYREF m, BYREF s","574","Converts a time-value to hours, minutes and seconds integer values."},
61{"Date","TIMER","TIMER","1449","Returns the number of seconds from midnight."},
62{"Date","TIMESTAMP","TIMESTAMP filename","1450","Returns the file last modified date and time."},
63{"Date","WEEKDAY","WEEKDAY (dmy| (d,m,y)| julian_date)","579","Returns the day of the week (0 = Sunday)."},
64{"File","ACCESS","ACCESS (file)","580","Returns the access rights of the file."},
65{"File","BGETC","BGETC (fileN)","602","Reads and returns a byte from file or device (Binary mode) ."},
66{"File","BLOAD","BLOAD filename[, address]","582","Loads a specified memory image file into memory."},
67{"File","BPUTC","BPUTC# fileN; byte","583","Writes a byte on file or device. (Binary mode)."},
68{"File","BSAVE","BSAVE filename, address, length","584","Copies a specified portion of memory to a specified file."},
69{"File","CHDIR","CHDIR dir","585","Changes the current working directory."},
70{"File","CHMOD","CHMOD file, mode","586","Change permissions of a file. See also ACCESS."},
71{"File","CLOSE","CLOSE #fileN","587","Close a file or device."},
72{"File","COPY","COPY \"file\", \"newfile\"","588","Makes a copy of specified file to the 'newfile'."},
73{"File","DIRWALK","DIRWALK directory [, wildcards] [USE ...]","589","Walk through the specified directories. The user-defined function must returns zero to stop the process."},
74{"File","EOF","EOF (fileN)","603","Returns true if the file pointer is at end of the file. For COMx and SOCL VFS returns true if the connection is broken."},
75{"File","EXIST","EXIST (file)","604","Returns true if file exists."},
76{"File","FILES","FILES (wildcards)","605","Returns an array with the filenames. If there are no files returns an empty array."},
77{"File","FREEFILE","FREEFILE","607","Returns an unused file handle."},
78{"File","INPUT","INPUT #fileN; var1 [,delim] [, var2 [,delim]] ...","590","Reads data from file."},
79{"File","INPUT","INPUT (len [, fileN])","608","Reads 'len' bytes from file or console (if fileN is omitted). This function does not convert the data or remove spaces."},
80{"File","KILL","KILL \"file\"","591","Deletes the specified file."},
81{"File","LOCK","LOCK","592","Lock a record or an area (not yet implemented)."},
82{"File","LOF","LOF (fileN)","609","Returns the length of file in bytes. For other devices, returns the number of available data."},
83{"File","MKDIR","MKDIR dir","593","Create a directory."},
84{"File","OPEN","OPEN file [FOR {INPUT|OUTPUT|APPEND}] AS #fileN","594","Makes a file or device available for sequential input, sequential output."},
85{"File","RENAME","RENAME \"file\", \"newname\"","595","Renames the specified file."},
86{"File","RMDIR","RMDIR dir","596","Removes a directory."},
87{"File","SEEK","SEEK #fileN; pos","597","Sets file position for the next read/write."},
88{"File","SEEK","SEEK (fileN)","610","Returns the current file position."},
89{"File","TLOAD","TLOAD file, BYREF var [, type]","598","Loads a text file into array variable. Each text-line is an array element. type 0 = load into array (default), 1 = load into string."},
90{"File","TSAVE","TSAVE file, var","599","Writes an array to a text file. Each array element is a text-line."},
91{"File","WRITE","WRITE #fileN; var1 [, ...]","600","Store variables to a file as binary data."},
92{"Graphics","ARC","ARC [STEP] x,y,r,astart,aend [,aspect [,color]] [COLOR color]","611","Draws an arc. astart, aend = first,last angle in radians."},
93{"Graphics","CHART","CHART LINECHART|BARCHART, array() [, style [, x1, y1, x2, y2]]","612","Draws a chart of array values in the rectangular area x1,y1,x2,y2. Styles: 0 = simple, 1 = with-marks, 2 = with ruler, 3 = with marks and ruler."},
94{"Graphics","CIRCLE","CIRCLE [STEP] x,y,r [,aspect [, color]] [COLOR color] [FILLED]","613","Draws a circle (or an ellipse if the aspect is specified)."},
95{"Graphics","COLOR","COLOR foreground-color [, background-color]","614","Specifies the foreground and background colors."},
96{"Graphics","DRAW","DRAW \"commands\"","615","Draw lines as specified by the given directional commands. "},
97{"Graphics","DRAWPOLY","DRAWPOLY array [,x-origin,y-origin [, scalef [, color]]] [COLOR color] [FILLED]","616","Draws a polyline. "},
98{"Graphics","IMAGE","IMAGE [#handle | fileName | http://path-to-file.png | image-var | array of pixmap data]","617","Creates a graphical image object providing access to the following sub-commands: show([x,y [,zindex [,opacity]]]), hide, save([x,y [,w,h]])"},
99{"Graphics","LINE","LINE [STEP] x,y [,|STEP x2,y2] [, color| COLOR color]","618","Draws a line."},
100{"Graphics","PAINT","PAINT [STEP] x, y [,fill-color [,border-color]]","619","Fills an enclosed area on the graphics screen with a specific color. x,y = Screen coordinate (column, row) within the area that is to be filled."},
101{"Graphics","PEN","PEN (0..14)","627","Returns the PEN/MOUSE data."},
102{"Graphics","PLOT","PLOT xmin, xmax USE f(x)","620","Graph of f(x)."},
103{"Graphics","POINT","POINT (x [, y])","628","Returns the color of the pixel at x,y."},
104{"Graphics","PSET","PSET [STEP] x,y [, color| COLOR color]","621","Draw a pixel."},
105{"Graphics","RECT","RECT [STEP] x,y [,|STEP x2,y2] [, color| COLOR color] [FILLED]","622","Draws a rectangular parallelogram."},
106{"Graphics","RGB","RGB (r, g, b)","629","Returns the RGB color codes for the specified values. Takes values 0..255 for each of the color."},
107{"Graphics","RGBF","RGBF (r, g, b)","630","Returns the RGB color codes for the specified values. Takes values 0..1 for each of the color."},
108{"Graphics","SHOWPAGE","SHOWPAGE","1429","This command is used to display pending graphics operations allowing for smooth animations."},
109{"Graphics","TEXTHEIGHT","TEXTHEIGHT (s)","631","Returns the text height of string s in pixels. See TXTH."},
110{"Graphics","TEXTWIDTH","TEXTWIDTH (s)","632","Returns the text width of string s in pixels. See TXTW."},
111{"Graphics","TXTH","TXTH (s)","633","Returns the text height of string s in pixels. See TEXTHEIGHT."},
112{"Graphics","TXTW","TXTW (s)","634","Returns the text width of string s in pixels. See TEXTWIDTH."},
113{"Graphics","VIEW","VIEW [x1,y1,x2,y2 [,color [,border-color]]]","623","Defines a viewport. The viewport defined by VIEW is disabled by a VIEW command with no parameters."},
114{"Graphics","WINDOW","WINDOW [x1,y2,x2,y1]","624","The WINDOW command allows you to redefine the corners of the display screen as a pair of \"world\" coordinates. WINDOW is also overloaded as a function, returning a system object providing access to the following sub-commands: graphicsScreen1, graphicsScreen2, textScreen, alert, ask, menu, message, showKeypad, insetTextScreen"},
115{"Graphics","XMAX","XMAX","1526","Holds the screen width in pixels"},
116{"Graphics","XPOS","XPOS","635","Returns the current X position of the cursor in \"characters\"."},
117{"Graphics","YMAX","YMAX","1527","Holds the screen height in pixels."},
118{"Graphics","YPOS","YPOS","636","Returns the current Y position of the cursor in \"characters\"."},
119{"Language","AND","a AND b","662","Logical AND. Right side is not evaluated if left side evaluates to False."},
120{"Language","AS","AS #fileN","1424","See: OPEN"},
121{"Language","BAND","a BAND b","663","Bitwise AND."},
122{"Language","BG","SOUND frq, dur [, vol] [BG]","1428","Play sound in the background. This prevent the program from blocking while the sound plays."},
123{"Language","BOR","a BOR b","664","Bitwise OR."},
124{"Language","BYREF","BYREF","639","Sub/func argument declaration. Changes to the variable will be passed back to the caller. Equivalent syntax to the @ character."},
125{"Language","CALL","CALL (fp)","637","Invoke a sub or func by address pointer."},
126{"Language","CASE","CASE expr","640","Branch condition for a SELECT statement."},
127{"Language","CATCH","CATCH [var | expr]","1426","The CATCH statement is used to CATCH an run-time error. This is typically used with errors raised when calling a file system command that cannot be completed, for example attempting to open a non-existent file. The CATCH statement has two modes. You can supply a variable argument to store the error string. Alternatively you can supply an expression. When the raised error matches the (String) expression, the error will be caught. When using the expression mode, you can supply a succession of CATCH statements to handle various error messages separately."},
128{"Language","CONST","CONST name = expr","678","Declare a variable who's value does not change during program execution."},
129{"Language","DECLARE","DECLARE FUNC xxx","1419","Forward declare SUB or FUNC. Obsolete QB compatibility"},
130{"Language","DEF","DEF name[(par1[,...])] = expression","641","Defines a single line function. eg, DEF MySin(x) = SIN(x): ? MySin(pi/2)"},
131{"Language","DO","DO","642","FOR f IN files(\"*.txt\") DO PRINT f"},
132{"Language","ELIF","ELIF","643","foo = 2: if foo==1: ? \"one\": ELIF foo==2: ? \"two\": fi"},
133{"Language","ELSE","ELSE","644","foo = 2: if foo==1: ? \"one\": ELSE: ? \"not one\": fi"},
134{"Language","ELSEIF","ELSEIF","645","foo = 2: if foo==1: ? \"one\": ELSEIF foo==2: ? \"two\": fi"},
135{"Language","END","END","679","Declares the END of a SUB or FUNC."},
136{"Language","END TRY","END TRY","1427","The END TRY statement marks the end of a TRY/CATCH block."},
137{"Language","ENDIF","ENDIF","646","foo = 1: if foo==1: ? \"one\": ENDIF"},
138{"Language","EQV","a EQV b","665","Bitwise equivalence."},
139{"Language","EXIT","EXIT [FOR|LOOP|SUB|FUNC]","648","Exits a multi line function definition, a loop, or a subprogram. By default (if no parameter is specified) exits from last command block (loop, for-loop or routine)."},
140{"Language","FALSE","FALSE","1457","FALSE"},
141{"Language","FI","FI","650","Declares the end of an IF statement. Same as ENDIF."},
142{"Language","FOR","FOR expr","680","Defines a FOR/NEXT loop. FOR counter = start TO end [STEP incr] ... NEXT. FOR element IN array (or map) ... NEXT."},
143{"Language","FUNC","FUNC foo (a, b)","651","Declares a function. Return a value by assigning a 'variable' with the same name as the function."},
144{"Language","GOSUB","GOSUB label","681","Causes program execution to branch to the specified label; when the RETURN command is encountered, execution branches to the command immediately following the most recent GOSUB command."},
145{"Language","GOTO","GOTO label","682","Causes program execution to branch to a specified position (label)."},
146{"Language","IF","IF expr","683","Tests the expression and IF it evaluates to a non-zero value program flow will resume after the following THEN statement."},
147{"Language","IFF","IFF expr","638","Inline version of IF. eg, animal = \"cat\": fur = IFF( animal = \"cat\", \"yes\", \"no\"): ? fur"},
148{"Language","IMP","a IMP b","666","Used to perform a logical implication on two expressions."},
149{"Language","IN","a IN b","667","Returns an index (1 Based) to the matching element when b is an array. Returns TRUE if the value is contained within b as a string."},
150{"Language","LABEL","LABEL name","684","Defines a label. A label marks a position in the code."},
151{"Language","LET","LET var=expr","685","Assigns a value to the variable."},
152{"Language","LIKE","a LIKE b","668","Regular-expression operator. Compares the left part of the expression with the right side regex pattern."},
153{"Language","LOCAL","LOCAL","653","Declare local variables inside a SUB or FUNC. Local variables no longer exist once the SUB or FUNC has returned."},
154{"Language","LSHIFT","result = LSHIFT number, amount","1496","Performs an arithmetic left shift on a bit pattern."},
155{"Language","MDL","MDL","669","Modulus."},
156{"Language","MOD","a MOD b","670","Modulus. Equivalent syntax to the percent character, eg a % b"},
157{"Language","NAND","a NAND b","671","Bitwise exclusive NOT AND."},
158{"Language","NEXT","NEXT","654","See FOR."},
159{"Language","NOR","a NOR b","672","Bitwise NOT OR."},
160{"Language","NOT","a NOT b","673","Invert expression result. Equivalent syntax to the exclamation character, eg a ! b"},
161{"Language","ON","ON GOTO|GOSUB label1 [, ..., labelN]","686","Causes a branch to one of a list of labels."},
162{"Language","OR","a OR b","674","Logical OR. Right side is not evaluated if left side evaluates to True."},
163{"Language","REM","REM comment","688","Code comments. Comments can also be introduced using # and single quote character. "},
164{"Language","REPEAT","REPEAT ... UNTIL expr","689","Begins the definition of a REPEAT/UNTIL loop."},
165{"Language","RETURN","RETURN","690","Execution branches to the command immediately following the most recent GOSUB command."},
166{"Language","RSHIFT","result = RSHIFT number, amount","1497","Performs an arithmetic right shift on a bit pattern."},
167{"Language","SELECT","SELECT CASE expr","655","Perform multiple tests on the expression. Offers a more concise syntax to writing successive IF tests."},
168{"Language","STEP","FOR t = 1 TO 10 STEP 2","1421","Specifies the loop counter increment in a FOR loop"},
169{"Language","STOP","STOP [error]","656","Terminates execution of a program, closes all files opened by the program, and returns control to the operating system."},
170{"Language","SUB","SUB foo (a, b)","657","Declare a sub procedure. Sub's do not return a value but can return argument values when declared as BYREF."},
171{"Language","THEN","THEN","658","foo = 1: if foo==1 THEN: ? \"one\": fi"},
172{"Language","THROW","THROW [info [, ...]]","1437","The THROW command (previously known as RTE) is used to initiate a catch-able error. If there is no surrounding TRY/CATCH block, THROW can be used to abort the program."},
173{"Language","TO","FOR t = 1 TO 10","1420","Specifies the loop counter end in a FOR loop"},
174{"Language","TRUE","TRUE","1455","TRUE"},
175{"Language","TRY","TRY","1425","The TRY statement introduces a TRY/CATCH BLOCK"},
176{"Language","UNTIL","UNTIL","660","a = 0: repeat: a++: ? a: UNTIL a = 10"},
177{"Language","USE","USE","661","Used with various commands for passing a user-defined expression. eg SPLIT s,\" \",v USE TRIM(x). Trim each element of v."},
178{"Language","USG","PRINT USG","1423","Synonym for USING"},
179{"Language","USING","PRINT USING","1422","See PRINT, SPRINT"},
180{"Language","WEND","WEND","691","Go back to the start of a WHILE statement."},
181{"Language","WHILE","WHILE expr","692","Loop while a test condition evaluates to true."},
182{"Language","XNOR","a XNOR b","675","Bitwise exclusive NOT OR."},
183{"Language","XOR","a XOR b","676","Bitwise exclusive OR. Equivalent syntax to: a ~ b"},
184{"Math","ABS","ABS (x)","704","Returns the absolute value of x."},
185{"Math","ABSMAX","ABSMAX (...)","705","Returns the absolute max value of x."},
186{"Math","ABSMIN","ABSMIN (...)","706","Returns the absolute min value of x."},
187{"Math","ACOS","ACOS (x)","707","Inverse cosine."},
188{"Math","ACOSH","ACOSH (x)","708","Inverse cosine."},
189{"Math","ACOT","ACOT (x)","709","Inverse cotangent."},
190{"Math","ACOTH","ACOTH (x)","710","Inverse cotangent."},
191{"Math","ACSC","ACSC (x)","711","Inverse co secant."},
192{"Math","ACSCH","ACSCH (x)","712","Inverse co secant."},
193{"Math","ASEC","ASEC (x)","713","Inverse secant."},
194{"Math","ASECH","ASECH (x)","714","Inverse secant."},
195{"Math","ASIN","ASIN (x)","715","Inverse sine."},
196{"Math","ASINH","ASINH (x)","716","Inverse sine."},
197{"Math","ATAN","ATAN (x)","717","Inverse tangent."},
198{"Math","ATAN2","ATAN2 (x, y)","718","Inverse tangent (x,y)."},
199{"Math","ATANH","ATANH (x)","719","Inverse tangent."},
200{"Math","ATN","ATN (x)","720","Inverse tangent."},
201{"Math","CEIL","CEIL (x)","721","Smallest integral value not less than x."},
202{"Math","COS","COS (x)","722","Cosine."},
203{"Math","COSH","COSH (x)","723","Cosine."},
204{"Math","COT","COT (x)","724","Cotangent."},
205{"Math","COTH","COTH (x)","725","Cotangent."},
206{"Math","CSC","CSC (x)","726","Co secant."},
207{"Math","CSCH","CSCH (x)","727","Co secant."},
208{"Math","DEG","DEG (x)","728","Radians to degrees."},
209{"Math","DERIV","DERIV x, maxtries, maxerr, BYREF result, BYREF errcode USE expr","693","Calculation of derivative. errcode = 0 for success; otherwise calculation error. "},
210{"Math","DETERM","DETERM (A[, toler])","729","Determinant of A. toler = tolerance number. the absolute value of the lowest acceptable number. default = 0."},
211{"Math","DIFFEQN","DIFFEQN x0, y0, xf, maxseg, maxerr, BYREF yf, BYREF errcode USE expr","694","Differential equation - Runge-Kutta method. x0 = initial x,y, xf = x final. errcode = 0 for success; otherwise calculation error. yf = result."},
212{"Math","EXP","EXP (x)","730","Returns the value of e raised to the power of x."},
213{"Math","EXPRSEQ","EXPRSEQ BYREF array, xmin, xmax, count USE expression","695","Returns an array with 'count' elements. Each element had the 'y' value of its position as it is returned by the expression."},
214{"Math","FIX","FIX (x)","731","Rounds x upwards to the nearest integer."},
215{"Math","FLOOR","FLOOR (x)","732","Largest integer value not greater than x."},
216{"Math","FRAC","FRAC (x)","733","Fractional part of x."},
217{"Math","INT","INT (x)","734","Rounds x downwards to the nearest integer."},
218{"Math","INTERSECT","INTERSECT Ax, Ay, Bx, By, Cx, Cy, Dx, Dy, BYREF type, BYREF Rx, BYREF Ry","696","Calculates the intersection of the two line segments A-B and C-D. Returns: Rx,Ry = cross."},
219{"Math","INVERSE","INVERSE (A)","735","Returns the inverse matrix of A."},
220{"Math","LINEQN","LINEQN (a, b [, toler])","736","Returns an array with the values of the unknowns. This function solves equations using the Gauss-Jordan method."},
221{"Math","LOG","LOG (x)","737","Returns the natural logarithm of x."},
222{"Math","LOG10","LOG10 (x)","738","Returns the base-10 logarithm of x."},
223{"Math","M3APPLY","M3APPLY m3x3, BYREF poly","697","Apply matrix to poly-line."},
224{"Math","M3IDENT","M3IDENT BYREF m3x3","698","Resets matrix (Identity)."},
225{"Math","M3ROTATE","M3ROTATE BYREF m3x3, angle [, x, y]","699","Rotate by angle with center x,y."},
226{"Math","M3SCALE","M3SCALE BYREF m3x3, x, y, Sx, Sy","700","Scale matrix."},
227{"Math","M3TRANS","M3TRANS BYREF m3x3, Tx, Ty","701","Matrix translation."},
228{"Math","MAX","MAX (...)","739","Maximum value of parameters. "},
229{"Math","MIN","MIN (...)","740","Minimum value of parameters. Parameters can be anything (arrays, ints, reals, strings)."},
230{"Math","POLYAREA","POLYAREA (poly)","741","Returns the area of the polyline poly."},
231{"Math","POLYCENT","POLYCENT","742","Polycent."},
232{"Math","POLYEXT","POLYEXT poly(), BYREF xmin, BYREF ymin, BYREF xmax, BYREF ymax","702","Returns the polyline's extents."},
233{"Math","POW","POW (x, y)","743","x raised to power of y."},
234{"Math","PTDISTLN","PTDISTLN (Bx,By,Cx,Cy,Ax,Ay)","744","Distance of point A from line B, C."},
235{"Math","PTDISTSEG","PTDISTSEG (Bx,By,Cx,Cy,Ax,Ay)","745","Distance of point A from line segment B-C."},
236{"Math","PTSIGN","PTSIGN (Ax,Ay,Bx,By,Qx,Qy)","746","The sign of point Q from line segment A->B."},
237{"Math","RAD","RAD (x)","747","Degrees to radians."},
238{"Math","RND","RND","748","Returns a random number from the range 0 to 1."},
239{"Math","ROOT","ROOT low, high, segs, maxerr, BYREF result, BYREF errcode USE expr","703","Roots of F(x)."},
240{"Math","ROUND","ROUND (x [, decs])","749","Rounds the x to the nearest integer or number with 'decs' decimal digits."},
241{"Math","SEC","SEC (x)","750","Secant."},
242{"Math","SECH","SECH (x)","751","Secant."},
243{"Math","SEGCOS","SEGCOS (Ax,Ay,Bx,By,Cx,Cy,Dx,Dy)","752","Cosine of 2 line segments (A->B, C->D)."},
244{"Math","SEGLEN","SEGLEN (Ax,Ay,Bx,By)","753","Length of line segment."},
245{"Math","SEGSIN","SEGSIN (Ax,Ay,Bx,By,Cx,Cy,Dx,Dy)","754","Sinus of 2 line segments (A->B, C->D)."},
246{"Math","SEQ","SEQ (xmin, xmax, count)","755","Returns an array with 'count' elements. Each element has the x value of its position."},
247{"Math","SGN","SGN (x)","756","Sign of x (+1 for positive, -1 for negative and 0 for zero)."},
248{"Math","SIN","SIN (x)","757","Sine."},
249{"Math","SINH","SINH (x)","758","Sine."},
250{"Math","SQR","SQR (x)","759","Square root of x."},
251{"Math","STATMEAN","STATMEAN (...)","760","Arithmetical mean."},
252{"Math","STATMEANDEV","STATMEANDEV (...)","761","Mean deviation."},
253{"Math","STATSPREADP","STATSPREADS (...)","762","Sample spread."},
254{"Math","STATSPREADS","STATSPREADP (...)","763","Population spread."},
255{"Math","SUM","SUM (...)","764","Sum of value."},
256{"Math","SUMSQ","SUMSQ (...)","765","Sum of square value."},
257{"Math","TAN","TAN (x)","766","Tangent."},
258{"Math","TANH","TANH (x)","767","Tangent."},
259{"String","ASC","ASC (s)","771","Returns the ASCII code of first character of the string s."},
260{"String","BCS","BCS (s)","772","Converts (B)ASIC-style strings to (C)-style (S)trings."},
261{"String","BIN","BIN (x)","773","Returns the binary value of x as string."},
262{"String","CBS","CBS (s)","774","Converts (C)-style strings to (B)ASIC-style (S)trings."},
263{"String","CHOP","CHOP (source)","775","Chops off the last character of the string 'source' and returns the result."},
264{"String","CHR","CHR (x)","776","Returns one-char string of character with ASCII code x."},
265{"String","DISCLOSE","DISCLOSE (str[, pairs [, ignore-pairs]])","777","Discloses a string."},
266{"String","ENCLOSE","ENCLOSE (str[, pair])","778","Encloses a string."},
267{"String","FORMAT","FORMAT (format, val)","779","Returns a formated string."},
268{"String","HEX","HEX (x)","780","Returns the hexadecimal value of x as string."},
269{"String","INSTR","INSTR ([start,] s1, s2)","781","Returns the position of the first occurrence of the string s2 into string s1 (starting from the position 'start'). If there is no match, INSTR returns 0"},
270{"String","JOIN","JOIN words(), delimiters, string","545","Returns the words of the specified string into array 'words'."},
271{"String","LCASE","LCASE (s)","782","Converts the string s to lower case."},
272{"String","LEFT","LEFT (s [,n])","783","Returns the n number of leftmost chars of string s. if not specified n = 1."},
273{"String","LEFTOF","LEFTOF (s1, s2)","784","Returns the left part of s1 at the position of the first occurrence of the string s2 into string s1."},
274{"String","LEFTOFLAST","LEFTOFLAST (s1, s2)","785","Returns the left part of s1 at the position of the last occurrence of the string s2 into string s1."},
275{"String","LOWER","LOWER (s)","786","Converts the string s to lower case."},
276{"String","LTRIM","LTRIM (s)","787","Removes leading white-spaces from string s."},
277{"String","MID","MID (s, start [,length])","788","Returns the part (length) of the string s starting from 'start' position."},
278{"String","OCT","OCT (x)","789","Returns the octal value of x as string."},
279{"String","REPLACE","REPLACE (source, pos, str [, len])","790","Writes str into pos of source and returns the new string."},
280{"String","RIGHT","RIGHT (s[,n])","791","Returns the n number of rightmost chars of string s. if not specified n = 1."},
281{"String","RIGHTOF","RIGHTOF (s1, s2)","792","Returns the right part of s1 at the position of the first occurrence of the string s2 into string s1."},
282{"String","RIGHTOFLAST","RIGHTOFLAST (s1, s2)","793","Returns the right part of s1 at the position of the last occurrence of the string s2 into string s1."},
283{"String","RINSTR","RINSTR ([start,] s1, s2)","794","Returns the position of the last occurrence of the string s2 into string s1 (starting from the position 'start')."},
284{"String","RTRIM","RTRIM (s)","795","Removes trailing white-spaces from string s."},
285{"String","SINPUT","SINPUT src; var [, delim] [,var [, delim]] ...","768","Splits the string 'src' into variables which are separated by delimiters."},
286{"String","SPACE","SPACE (n)","796","Returns a string of n spaces."},
287{"String","SPC","SPC (n)","797","Returns a string of n spaces."},
288{"String","SPLIT","SPLIT string, delimiters, words() [, pairs] [USE expr]","769","Returns the words of the specified string into array 'words'."},
289{"String","SPRINT","SPRINT var; [USING...;] ...","770","Create formated string and storing it to var. See also: PRINT command."},
290{"String","SQUEEZE","SQUEEZE (s)","798","Removes all leading, trailing and duplicated white-space."},
291{"String","STR","STR (n)","799","Converts the number n into a string."},
292{"String","STRING","STRING ( count [,start | s] )","800","Creates a new string of count length."},
293{"String","TRANSLATE","TRANSLATE (source, what [, with])","801","Translates all occurrences of the string 'what' found in source with the string 'with' and returns the new string."},
294{"String","TRIM","TRIM(s)","802","Removes all leading and trailing white-space."},
295{"String","UCASE","UCASE (s)","803","Converts the string s to upper case."},
296{"String","UPPER","UPPER (s)","804","Converts the string s to upper case."},
297{"String","VAL","VAL (s)","805","Returns the numeric value of string s."},
298{"System","CHAIN","CHAIN source","1439","Compile and run the given source. Source can be a file name, a line of code or an array of code. Use ENV to share variables with the parent process."},
299{"System","COMMAND","COMMAND","1521","SmallBASIC startup command line options."},
300{"System","CWD","CWD","1522","Current working directory"},
301{"System","DELAY","DELAY ms","806","Delay for a specified amount of milliseconds. Note 'delay' depends on the system clock."},
302{"System","ENV","ENV expr","807","Adds a variable to or deletes a variable from the current environment variable-table."},
303{"System","ENV","ENV expr","815","Returns the value of a specified entry in the current environment table. If the parameter is empty (\"\") then returns an array of the environment variables (in var=value form)."},
304{"System","EXEC","EXEC file","1443","Transfers control to another operating system program."},
305{"System","EXPORT","EXPORT thing","1440","Export a SUB, FUNC or variable from a UNIT to be used by the unit consumer."},
306{"System","FRE","FRE (x)","606","Returns system information. eg, 0 = free memory, "},
307{"System","HOME","HOME","1525","User HOME folder"},
308{"System","IMPORT","IMPORT","1441","Import an exported UNIT variable, SUB or FUNC."},
309{"System","INCLUDE","INCLUDE source-file.bas","1462","Inserts code in the named file when the program is compiled. "},
310{"System","MAXINT","MAXINT","1736","Holds the maximum value for an integer. The value depends on whether you are using a 32 or 64 bit build of SmallBASIC."},
311{"System","NIL","NIL","1735","NIL is used to mean 'not set' as distinct from having an INT set to 0"},
312{"System","OPTION","OPTION keyword","1442","Used to pass parameters to the run-time environment."},
313{"System","PAUSE","PAUSE [secs]","809","Pauses the execution for a specified length of time, or until user hit the keyboard."},
314{"System","PI","PI","1524","Holds PI"},
315{"System","PROGLINE","PROGLINE","817","Returns the current program line number."},
316{"System","RANDOMIZE","RANDOMIZE [int]","810","Seeds the random number generator."},
317{"System","RUN","RUN cmdstr","818","Loads a secondary copy of system's shell and, executes an program, or an shell command."},
318{"System","SBVER","SBVER","1523","Version and build information"},
319{"System","SELF","SELF","1734","Pseudo class instance variable"},
320{"System","STKDUMP","STKDUMP","812","Display internal execution stack."},
321{"System","TROFF","TROFF","813","See TRON."},
322{"System","TRON","TRON","814","When trace mechanism is ON, displays each line number as the program is executed."},
323{"System","UNIT","UNIT name","1446","Declares the source module as a unit. Units are a set of procedures, functions and/or variables that can be used by another program or unit."},
324};
325const int keyword_help_len = 315;
326const int keyword_max_len = 11;
327const uint32_t keyword_hash_statement[] = {
328 618386u, //AND
329 44536u, //AS
330 10925681u, //BAND
331 40991u, //BG
332 531585u, //BOR
333 159972060u, //BYREF
334 11236891u, //CALL
335 11233017u, //CASE
336 163157651u, //CATCH
337 157636613u, //CONST
338 2153371294u, //DECLARE
339 517515u, //DEF
340 24819u, //DO
341 10929370u, //ELIF
342 10933018u, //ELSE
343 2405027728u, //ELSEIF
344 520863u, //END
345 2775234944u, //END TRY
346 164676324u, //ENDIF
347 525212u, //EQV
348 11045296u, //EXIT
349 159305040u, //FALSE
350 42136u, //FI
351 649199u, //FOR
352 9349782u, //FUNC
353 200056458u, //GOSUB
354 9434479u, //GOTO
355 41698u, //IF
356 549434u, //IFF
357 556507u, //IMP
358 41924u, //IN
359 125204486u, //LABEL
360 474463u, //LET
361 6580150u, //LIKE
362 114224607u, //LOCAL
363 1633573636u, //LSHIFT
364 462186u, //MDL
365 469321u, //MOD
366 6839772u, //NAND
367 6876251u, //NEXT
368 446641u, //NOR
369 446619u, //NOT
370 27587u, //ON
371 27452u, //OR
372 444843u, //REM
373 1840949027u, //REPEAT
374 1841194552u, //RETURN
375 1693738505u, //RSHIFT
376 1938378660u, //SELECT
377 7670990u, //STEP
378 7680465u, //STOP
379 429326u, //SUB
380 7648257u, //THEN
381 106025546u, //THROW
382 28570u, //TO
383 7206331u, //TRUE
384 437633u, //TRY
385 106315497u, //UNTIL
386 433006u, //USE
387 432923u, //USG
388 117195555u, //USING
389 7383373u, //WEND
390 108609225u, //WHILE
391 8316791u, //XNOR
392 398311u, //XOR
393};
394const int keyword_hash_statement_len = 65;
395const uint32_t keyword_hash_command[] = {
396 44525u, //AT
397 10884582u, //BEEP
398 528718u, //CAT
399 553812u, //CLS
400 816700281u, //DEFINEKEY
401 8549787u, //FORM
402 157867930u, //INKEY
403 157851300u, //INPUT
404 4023428998u, //LINEINPUT
405 1791301560u, //LINPUT
406 1867692207u, //LOCATE
407 789315568u, //LOGPRINT
408 1263564309u, //NOSOUND
409 484358u, //PEN
410 6420240u, //PLAY
411 119598681u, //PRINT
412 109713904u, //SOUND
413 440973u, //TAB
414 2417592853u, //APPEND
415 189810090u, //ARRAY
416 11268538u, //CDBL
417 11286818u, //CINT
418 161512529u, //CREAL
419 6815380u, //DATA
420 2192944569u, //DELETE
421 516452u, //DIM
422 164876581u, //EMPTY
423 161397106u, //ERASE
424 2281771697u, //INSERT
425 835721548u, //ISARRAY
426 157779587u, //ISDIR
427 2282597139u, //ISFILE
428 3090996118u, //ISLINK
429 157709644u, //ISMAP
430 2138372842u, //ISNUMBER
431 2733996173u, //ISSTRING
432 1625454478u, //LBOUND
433 474526u, //LEN
434 7314701u, //READ
435 113128012u, //REDIM
436 1541268989u, //RESTORE
437 1938768648u, //SEARCH
438 7217498u, //SORT
439 7650221u, //SWAP
440 1985328786u, //UBOUND
441 6815425u, //DATE
442 2884012652u, //DATEDMY
443 2883886948u, //DATEFMT
444 2802232493u, //JULIAN
445 106165291u, //TICKS
446 7645532u, //TIME
447 2831201839u, //TIMEHMS
448 105944837u, //TIMER
449 4006427323u, //TIMESTAMP
450 901059378u, //WEEKDAY
451 4042962798u, //ACCESS
452 161405736u, //BGETC
453 161274623u, //BLOAD
454 167679854u, //BPUTC
455 162706072u, //BSAVE
456 162958821u, //CHDIR
457 162885725u, //CHMOD
458 162373271u, //CLOSE
459 11364702u, //COPY
460 3171114254u, //DIRWALK
461 523948u, //EOF
462 167600319u, //EXIST
463 155559456u, //FILES
464 2471067418u, //FREEFILE
465 157851300u, //INPUT
466 157851300u, //INPUT
467 6367670u, //KILL
468 6960609u, //LOCK
469 462101u, //LOF
470 124288756u, //MKDIR
471 7038075u, //OPEN
472 1840597766u, //RENAME
473 119198827u, //RMDIR
474 7685308u, //SEEK
475 7685308u, //SEEK
476 116506325u, //TLOAD
477 110074151u, //TSAVE
478 105589333u, //WRITE
479 620196u, //ARC
480 162983007u, //CHART
481 2378447351u, //CIRCLE
482 157632703u, //COLOR
483 10968843u, //DRAW
484 3882712140u, //DRAWPOLY
485 151233683u, //IMAGE
486 6579173u, //LINE
487 121815481u, //PAINT
488 484358u, //PEN
489 6419587u, //PLOT
490 132331830u, //POINT
491 6441848u, //PSET
492 7310891u, //RECT
493 445042u, //RGB
494 7317070u, //RGBF
495 2321611758u, //SHOWPAGE
496 2873036772u, //TEXTHEIGHT
497 3324920931u, //TEXTWIDTH
498 7187110u, //TXTH
499 7186789u, //TXTW
500 7545375u, //VIEW
501 1974979680u, //WINDOW
502 8290752u, //XMAX
503 8319665u, //XPOS
504 11720844u, //YMAX
505 11117514u, //YPOS
506 621143u, //ABS
507 4052494428u, //ABSMAX
508 4052492289u, //ABSMIN
509 8954969u, //ACOS
510 190205157u, //ACOSH
511 8954980u, //ACOT
512 190205423u, //ACOTH
513 8954197u, //ACSC
514 190190318u, //ACSCH
515 8956063u, //ASEC
516 190314282u, //ASECH
517 8957033u, //ASIN
518 190293913u, //ASINH
519 8962787u, //ATAN
520 189909372u, //ATAN2
521 189909509u, //ATANH
522 618761u, //ATN
523 11265664u, //CEIL
524 550460u, //COS
525 11363549u, //COSH
526 550401u, //COT
527 11370439u, //COTH
528 549713u, //CSC
529 11352219u, //CSCH
530 517558u, //DEG
531 166265805u, //DERIV
532 2191554320u, //DETERM
533 1790348395u, //DIFFEQN
534 532413u, //EXP
535 2502316535u, //EXPRSEQ
536 543636u, //FIX
537 176924504u, //FLOOR
538 8549798u, //FRAC
539 548438u, //INT
540 1263036848u, //INTERSECT
541 169914502u, //INVERSE
542 1790991087u, //LINEQN
543 462122u, //LOG
544 113847659u, //LOG10
545 379997397u, //M3APPLY
546 214880124u, //M3IDENT
547 2032606560u, //M3ROTATE
548 366144747u, //M3SCALE
549 364122808u, //M3TRANS
550 462009u, //MAX
551 470446u, //MIN
552 2647571345u, //POLYAREA
553 2521748786u, //POLYCENT
554 687217267u, //POLYEXT
555 485868u, //POW
556 1926692035u, //PTDISTLN
557 2287154572u, //PTDISTSEG
558 1742367740u, //PTSIGN
559 443404u, //RAD
560 477337u, //RND
561 6620355u, //ROOT
562 119061329u, //ROUND
563 427684u, //SEC
564 7686719u, //SECH
565 1938064571u, //SEGCOS
566 1939146313u, //SEGLEN
567 1939252683u, //SEGSIN
568 427994u, //SEQ
569 433281u, //SGN
570 433726u, //SIN
571 7121735u, //SINH
572 441740u, //SQR
573 2793501405u, //STATMEAN
574 1817112433u, //STATMEANDEV
575 1922384608u, //STATSPREADP
576 1922384714u, //STATSPREADS
577 428934u, //SUM
578 106019451u, //SUMSQ
579 440940u, //TAN
580 7270929u, //TANH
581 618761u, //ASC
582 521139u, //BCS
583 524391u, //BIN
584 528635u, //CBS
585 11807371u, //CHOP
586 555569u, //CHR
587 1811571605u, //DISCLOSE
588 2782754408u, //ENCLOSE
589 2652035290u, //FORMAT
590 544887u, //HEX
591 157924591u, //INSTR
592 7003359u, //JOIN
593 125359991u, //LCASE
594 6670770u, //LEFT
595 1628106151u, //LEFTOF
596 2362001949u, //LEFTOFLAST
597 114185839u, //LOWER
598 117804321u, //LTRIM
599 470562u, //MID
600 442529u, //OCT
601 1530160983u, //REPLACE
602 121842576u, //RIGHT
603 4030579548u, //RIGHTOF
604 2727957053u, //RIGHTOFLAST
605 1706992796u, //RINSTR
606 118610576u, //RTRIM
607 1796010507u, //SINPUT
608 109480633u, //SPACE
609 441777u, //SPC
610 109366437u, //SPLIT
611 1968953817u, //SPRINT
612 1045769123u, //SQUEEZE
613 426147u, //STR
614 1939807703u, //STRING
615 1912746356u, //TRANSLATE
616 7201082u, //TRIM
617 115926153u, //UCASE
618 106596591u, //UPPER
619 403213u, //VAL
620 162955030u, //CHAIN
621 853897907u, //COMMAND
622 555337u, //CWD
623 166356103u, //DELAY
624 521116u, //ENV
625 521116u, //ENV
626 11044343u, //EXEC
627 2206883839u, //EXPORT
628 648783u, //FRE
629 11331391u, //HOME
630 3212552069u, //IMPORT
631 922559678u, //INCLUDE
632 1866159689u, //MAXINT
633 449197u, //NIL
634 1760581727u, //OPTION
635 109594785u, //PAUSE
636 26236u, //PI
637 4002965032u, //PROGLINE
638 4162362454u, //RANDOMIZE
639 442397u, //RUN
640 115836733u, //SBVER
641 7686616u, //SELF
642 2675030080u, //STKDUMP
643 111090442u, //TROFF
644 7202120u, //TRON
645 7613966u, //UNIT
646};
647const int keyword_hash_command_len = 250;
648