-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathgen.txt
3754 lines (3177 loc) · 81.5 KB
/
gen.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/home/ron/proj/reva/src/help.txt
lib/alg/dictionary
lib/alg/stack
lib/alg/list
lib/alg/bubblesort
lib/alg/common
lib/alg/enum
lib/alg/quicksort
lib/alg/insertsort
lib/alg/hsort
lib/alg/htable
lib/alg/sort-common
lib/alg/structs
lib/alg/array
lib/ui/gl
lib/ui/guiconsole
lib/ui/gui-iup-img
lib/ui/gtk
lib/ui/gui
lib/ui/gui-db
lib/ui/glut
lib/ui/gtk2
lib/ui/iup-common
lib/ui/cd
lib/ui/glu
lib/ui/iup
lib/ui/sdl
lib/ui/im
lib/db/sqlite
lib/db/report
lib/db/common
lib/db/mysql
lib/net/ftp
lib/net/xml
lib/net/mime
lib/net/http
lib/net/xmlrpc
lib/net/sockets
lib/net/curl
lib/net/json
lib/net/cgi
lib/os/dir
lib/os/fs
lib/os/exception
lib/os/process
lib/os/shell
lib/os/clipboard
lib/os/threads
lib/os/fakeconsole
lib/os/rapi
lib/os/registry
lib/os/console
lib/os/tempfile
lib/debugger
lib/ansi
lib/helper
lib/asm/x86-prot
lib/asm/x86-fpu
lib/asm/x86
lib/asm/x86-mmx
lib/asm/common
lib/asm/format/pe
lib/asm/format/mach
lib/asm/format/elf
lib/util/doers
lib/util/scase
lib/util/portio
lib/util/misc
lib/util/auxstack
lib/util/zlib
lib/util/eachline
lib/util/contexts
lib/util/units
lib/util/disasm
lib/util/tasks
lib/util/locals
lib/util/patchmgr
lib/util/classes
lib/revagui/button
lib/revagui/textdisplay
lib/revagui/common
lib/revagui/window
lib/revagui/enumerations
lib/revagui/box
lib/revagui/utf8
lib/revagui/textbuffer
lib/random/simple
lib/random/common
lib/random/gm
lib/timer
lib/choices
lib/date/parse
lib/date/sedra
lib/date/julian
lib/date/sunrise
lib/date/hebrew
lib/date/iso
lib/date/islam
lib/date/holidays
lib/date/church
lib/date/calendar
lib/string/justify
lib/string/base64
lib/string/soundex
lib/string/dynamic
lib/string/redirect
lib/string/misc
lib/string/gettext
lib/string/iconv
lib/string/trim
lib/string/regex
lib/string/uuid
lib/string/xmlparse
lib/app/gui
lib/app/console
lib/app/base
lib/crypt/rc4
lib/crypt/gpg
lib/crypt/sha1
lib/crypt/md5
lib/fasm
lib/math/big
lib/math/floats
lib/math/doubles
lib/math/mod
lib/testing
lib/callbacks
lib/data/parray
lib/data/base
lib/data/hash
lib/data/array
lib/print/pdf
lib/print/base
en
::
lib: src/core{lin,win}.asm
ctx: ~strings
stack: -- xt
desc: Create a new word without a dictionary entry. "xt" is the pointer
to the compiled code for the word. This is mainly useful for
providing an anonymous function to use as an implmentation of a
defer-ed word.
_1-
lib: src/reva.f
ctx: ~strings
stack: a b -- a-1 b
ver: 6.1.9
desc: Decrement the second stack item. Like "1-" but for the item
under TOS. Much more efficient than "swap 1- swap"
fill
lib: REMOVED
ctx: ~strings
stack: a c b --
desc: Fill the memory at "a" with "c" copies of byte "b"
conditionals
lib: src/core{lin,win}.asm
ctx: ~
desc: These are the conditional statements Reva provides:
if <>if 0if <if >if =if else then
title
lib: lib/os/tempfile
ctx: ~util
stack: a u --
desc: Set the title of the console window, for example,
ok> " My Title" title
Currently Windows only.
title
lib: lib/ui/gui-db
ctx: ~ui-priv
stack: handle a n -- handle
desc: Use title to set the title string of a dialog. So handle should be a dialog widget.
sort
lib: lib/alg/enum
ctx: ~ui
stack: buffer size --
desc: Deferred sort algorithm for use by the data structure libraries.
'qsort' is default behaviour.
onstartup
lib: REMOVED
ctx: ~io
stack: xt --
desc: Add the xt to the 'startup handlers list'. This xt will be
executed when "cold" is called, just before "appstart" is called.
It is important that the stack diagram of the xt is ( -- )
cells
lib: src/core{lin,win}.asm
ctx: ~strings
stack: n -- n
desc: Return number of bytes required by "n" cells
regex_find!
lib: lib/string/uuid
ctx: ~os
stack: a1 n1 a2 n2 -- 0 | a n #matched
desc: Easy wrapper for regex search. Find (a2,n2) in (a1,n1), returning either 0
for no matches, or the number of matches, followed by the first match.
'
lib: src/core{lin,win}.asm
ctx: ~strings
stack: <name> -- xt
desc: Look up the word "<name>" in the dictionary. Returns the xt of
the word in question, or 0 if "<name>" doesn't exist.
sql_exec
lib: lib/db/mysql
ctx: ~report
stack: handle a n --
desc: Execute the SQL (a,n) on the database handle.
array
lib: lib/ui/gl
ctx: ~ui
stack: size <name> --
desc: Create a linear array of fixed size, allocated to OS memory.
For example:
ok> needs alg/array
ok> ~struct ~myapp
ok> 33 array myarray
For convenience, declaring
ok> myarray
sets it as the active data structure, so words like 'size' and
'prt' automatically know to operate on it.
of
lib: src/reva.f
ctx: ~strings
stack: --
ver: 6.0.4
desc: Equivalent of "over =if drop"
of
lib: src/reva.f
ctx: ~strings
stack: n --
ver: 6.0.11
desc: Begins a "case selection". If the case selector matches 'n',
then execution continues after the "of". Otherwise it
continues after the matching "endof". Essentially the same
as:
n over =if drop ... endif
f?
lib: lib/math/doubles
ctx: ~test
stack: a --
desc: Same as "f@ f.", like "?"
fldcw
lib: lib/math/doubles
ctx: ~test
stack: n --
desc: Loads the FPU control word. See the x87 documents from Intel or AMD for
details.
attr?:
lib: lib/ui/gui-db
ctx: ~ui-priv
stack: handle a n -- handle a n
ver: 9.0.11
desc: Returns in (a,n) the value of the attribute (a,n) in the widget specified by handle.
See "attr?:"
attr?:
lib: lib/ui/gui-db
ctx: ~ui-priv
stack: handle <name> -- handle a n
desc: Returns in (a,n) the value of the attribute <name> in the widget specified by handle.
For many specific widgets the gui library provides specific words to access them more easily.
npek
lib: lib/alg/list
ctx: ~ui
stack: n -- data
desc: Peek at the data element 'n' deep in the active stack.
Sub-word: (npek)
.rs
lib: src/core{lin,win}.asm
ctx: ~strings
stack: --
desc: Displays (up to) top ten return-stack items.
nfnvhash2
lib: lib/alg/sort-common
ctx: ~ui
stack: int -- hash
desc: Hash an integer through a modified FNV algorithm.
creat
lib: src/revacore.asm
ctx: ~help
stack: a n -- fileid
desc: Create a new file for reading and writing.
key?
lib: src/core{lin,win}.asm
ctx: ~help
stack: -- flag
desc: Returns 'true' if a character is waiting to be read from the
input.
=
lib: src/core{lin,win}.asm
ctx: ~strings
stack: m n -- flag
desc: Returns 'true' or 'false' depending on the test "m=n" using
signed-math.
peek-n
lib: src/core{lin,win}.asm
ctx: ~reva
stack: n stack -- m
ver: 6.0.9
desc: Puts the "n"th item in stack on TOS
d.
lib: lib/math/mod
ctx: ~struct
stack: d --
desc: Like ".". Take a double, and print it followed by a space.
default
lib: lib/date/parse
ctx: ~strings
stack: xt --
desc: MOVED TO choices in 6.0.11
Makes 'xt' the default "choice" to be executed when nothing else
matches. The default "default" is to do nothing.
longs[]:
lib: lib/alg/array
ctx: ~strings
stack: offset n <name> -- offset'
desc: Declares a field "n" longs (4n bytes) large
s0
lib: REMOVED
ctx: ~io
stack: -- a
desc: Variable holding value of start of stack space
zcount
lib: REMOVED
ctx: ~os
stack: z -- a n
desc: Convert NUL-terminated string to address-count "Forth" format.
fC2
lib: lib/math/doubles
ctx: ~test
stack: -- n
ver: 7.0.11
desc: Retrieves the FPU status word C2 bit as a flag
Tammuz
lib: lib/date/iso
ctx: ~sunrise
stack: -- 4
desc: Symbolic name for the Hebrew month "Tammuz"
helpdir
lib: src/core{lin,win}.asm
ctx: ~strings
stack: -- a n
desc: Return the full path to the help database, including the final
path-separator character
strcatf
lib: lib/string/gettext
ctx: ~os
stack: a1 n1 a2 n2 -- a3 n3
ver: 6.1
desc: Append (a2,n2) to (a1,n1) resulting in the string (a3,n3). The string
(a3,n3) is always in the "scratch" buffer, and so using this more than once
will overwrite previous strings (or anything else in "scratch"). It is,
however, much faster than "strcat". On the other hand, one may not use
strings larger than 4091 bytes total.
fatanh
lib: lib/math/doubles
ctx: ~test
stack: float: a -- atanh(a) ; ln((1+a)/(1-a))/2
ver: 7.0.5
desc: Replaces FTOS with hyberbolic arctangent .
regex_find
lib: lib/string/uuid
ctx: ~os
stack: a1 n1 regex -- 0 | a n #matched
desc: Easy wrapper for regex search. Find regex in (a1,n1), returning either 0
for no matches, or the number of matches, followed by the first match.
include
lib: REMOVED
ctx: ~reva
stack: <name> --
desc: Read in the file "<name>" and evaluate it. Silent on failure, but
'ioerr' will be non-zero.
NOTE: the stack pointer is restored to whatever it was before
the "include". That is, if the file to be included push
values on the stack, those values will NOT be present after
the "include". This is intentional.
apply-patch-file
lib: lib/util/classes
ctx: ~revagui
stack: db a n -- f
ver: 2011.1
desc: Applies the patch which is in the file "(a,n)". First checks to see if the
patch has been applied, by querying the open database "db".
A "patch file" must be in the format created by "create-patch-file". It is
compressed and encrypted, and has checksum information to make it slightly
difficult to hack, as well as to make it somewhat more secure.
NOTE: if you need real security for your patches, you *must* use something
like GPG signatures and verify the patch separately. This library is not
that paranoid, but should be good enough for common purposes.
A patch will not be applied if it has already been applied, but that is not
an error. Return results are "true" if there was no problem, or "false" if
the patch failed verification.
lst
lib: lib/alg/bubblesort
ctx: ~ui
stack: -- a
desc: Variable holding the address of the active list.
fixed>iso
lib: lib/date/islam
ctx: ~sunrise
stack: f -- week day year
desc: Converts fixed date to ISO W/D/YYYY
dim
lib: lib/os/tempfile
ctx: ~util
stack: --
desc: Dim the background colour (if bright).
xml-sethandlers
lib: lib/app/gui
ctx: ~sockets
stack: xt-start xt-end xt-content h --
desc: Sets the XTs to call back when an XML entity starts, ends and has content.
make
lib: lib/util/scase
ctx: ~strings
stack: <name>
ver: 6.0.4
desc: NOTE: In 9.0.8 was moved to util/doers
Sets the current behavior of a "doer" to the code following it. Each time
"make" is invoked, it saves the previous value of the "doer" so that "undo"
can restore it.
Example:
doer joe
make joe ." Hi there!" cr ;
joe | prints "Hi there!"
make joe ." no way" cr;
joe | prints "no way"
undo joe
joe | prints "Hi there!"
handle-pending-events
lib: lib/ui/gui-db
ctx: ~ui-priv
stack: --
desc: Used internally to manage callbacks that are executed within the normal forth environment.
Sep
lib: lib/string/justify
ctx: ~sunrise
stack: -- 9
desc: Symbolic name for September
.needs
lib: src/core{lin,win}.asm
ctx: ~strings
stack: --
ver: 6.0.7
desc: Shows list of files which have been loaded by "needs"
?do
lib: src/core{lin,win}.asm
ctx: ~strings
stack: max start --
desc: ANS-compatible '?do'. Iterates from 'start' to 'max'-1. If 'max'
and 'start' are equal, will not do any iterations.
freethread
lib: lib/os/fakeconsole
ctx: ~util
stack: handle --
ver: 7.0.6
desc: Frees the memory associated with the thread. Do not do this unless the
thread has terminated!
connect
lib: lib/net/curl
ctx: ~curl
stack: sock name len -- result
desc: Connects the socket to the remote address.
Returns 0 for success, or something else for error.
frame[
lib: lib/ui/gui-db
ctx: ~ui-priv
stack: a n -- a n handle handle
desc: Creates a group box with the label (a,n) around the widgets that it contains. Close the frame group definition with ]fr.
list
lib: lib/alg/bubblesort
ctx: ~ui
stack: <name> --
desc: Create the header for an allocated linked list, for example:
ok> needs alg/list
ok> ~struct ~myapp
ok> list mylist
For convenience, declaring
ok> mylist
sets it as the active data structure, so words like 'ins' and 'del'
automatically know to operate on it. If this is not desired, use
the associated sub-words, eg. '(ins)', which then expect a list or
node pointer on the stack. Any sub-words in alg/stack may also be
used.
RH
lib: lib/db/common
ctx: ~xml
stack: <line> --
ver: 2011.1
desc: Define a report-header line.
rmvkeys
lib: lib/alg/sort-common
ctx: ~ui
stack: --
desc: In the active hash table, drop and free all keys in all buckets
from allocated memory.
rows
lib: lib/ui/gl
ctx: ~ui
stack: -- cols
desc: Return the number of columns in the active (2- or 3-D) array.
big-
lib: lib/math/floats
ctx: ~floats
stack: c a b --
ver: 6.1.6
desc: Sets the big number "c" to the difference of the big numbers "a-b"
strlwr
lib: lib/string/gettext
ctx: ~os
stack: a n -- a n
desc: Convert string to lowercase, inplace
bright
lib: lib/os/tempfile
ctx: ~util
stack: --
desc: Brighten the background colour.
string/regex
lib: lib/string/uuid
ctx: ~os
desc: Wrapper around the PCRE library. Linux users need to have PCRE
installed (most will already have it). Windows users get
'pcre3.dll' in the 'bin' directory, which needs to be distributed
with any application which uses PCRE.
To appreciate the complexities of the regular-expressions
permitted, please look at the PCRE documentation on-line at:
http://www.pcre.org/
4cell+
lib: src/core{lin,win}.asm
ctx: ~reva
stack: n -- n
desc: Advance "n" by four cells (16 bytes)
*/_
lib: lib/testing
ctx: ~strings
stack: amount multiplier divisor -- quot
desc: Floored version of "*/"
page#
lib: lib/db/common
ctx: ~report-define
stack: -- a n
ver: 2011.1
desc: Current page number, as a string
stack:
lib: src/core{lin,win}.asm
ctx: ~reva
stack: n <name> --
ver: 6.0.9
desc: Declares a new stack named <name>, of size n
.fs
lib: lib/math/doubles
ctx: ~test
stack: --
ver: 9.0.6
desc: Like ".s" but for the FP stack
sql_fetch#
lib: lib/db/mysql
ctx: ~report
stack: handle a n -- m
desc: Given a SQL string (a,n) and a database handle, returns the result of the
query as an integer. This will only be useful for SQL like:
select sum(amount) from account
gui-continue
lib: lib/ui/gui-db
ctx: ~ui-priv
stack: -- -4
desc: A return code used within callbacks to flag that the event shall be propagated to the next event handler.
param$
lib: lib/db/common
ctx: ~report-define
stack: n -- a n
ver: 2011.1
desc: Returns the n'th string parameter, which must have been set before
running the report, by "set-report-param$".
Up to 5 string parameters may be set per report-run.
find-word
lib: src/core{lin,win}.asm
ctx: ~io
stack: a n context -- 0 | dict -1
ver: 6.0.9
desc: Looks for the word (a,n) in the context given. Like find-dict
mark
lib: lib/util/auxstack
ctx: ~reva
stack: <name> --
desc: Creates a word which when executed, will revert the system to the
state it had before that word was created. This is very useful
when you want to "play around" with things and remove their
side-effects.
Note: the word will affect only the context in which it was run.
0if
lib: src/core{lin,win}.asm
ctx: ~strings
stack: n --
desc: Execute condition if 'n' is zero
ERROR
lib: src/core{lin,win}.asm
ctx: ~strings
stack: a1 n1 a2 n2 --
ver: 9.0.7
desc: Prints on a new line "ERROR: " followed by string (a2,n2), a
space, and string (a1,n1) then another new-line.
Used to acheive some uniformity in Reva error messages.
get-mime
lib: lib/net/http
ctx: ~strings
stack: a n -- a' n'
desc: Given a filename extension (a,n), returns a "mime-type".
/_mod
lib: lib/testing
ctx: ~strings
stack: dividend divisor -- rem quot
desc: Floored version of "/mod"
trim
lib: lib/string/regex
ctx: ~os
stack: a n -- a' n'
desc: trim from both sides
f*10
lib: lib/math/doubles
ctx: ~test
stack: float: a -- a*10.0
desc: Multiply FTOS by ten
parsews
lib: REMOVED
ctx: ~strings
stack: -- a n
desc: Same as parse, but eliminates any "whitespace" from before or
after the word.
(if
lib: src/core{lin,win}.asm
ctx: ~io
stack: --
desc: You don't want to use this word; it's internal to the
various conditionals.
emit
lib: src/revacore.asm
ctx: ~help
stack: c --
desc: Print character corresponding to the ASCII value 'c'
SIGINT
lib: lib/os/process
ctx: ~process
stack: -- n
ver: 6.1.6
desc: Value of the "INTerruption" signal
stdout
lib: REMOVED
ctx: ~strings
stack: -- n
desc: Return handle of standard-output
showhelp
lib: src/core{lin,win}.asm
ctx: ~doubles
stack: xt --
ver: 6.0.4
desc: Called to display help on the "xt".
init-report-from-file
lib: lib/db/common
ctx: ~report
stack: db a n -- m
ver: 2011.1
desc: Add a report, defined in the file name given (a,n), to the database
"db", and return the id number of the report (or -1 on failure).
f>64
lib: lib/math/doubles
ctx: ~test
stack: -- x | float: x --
desc: Removes FTOS as 64-bit IEEE FP value and puts into TOS
xml-reset
lib: lib/app/gui
ctx: ~sockets
stack: h -- f
desc: Resets the state held by the parser handle "h", so it can handle a new XML
stream.
christmas
lib: lib/date/church
ctx: ~sunrise
stack: year -- fixed
desc: Returns fixed date for Christmas Day on the given year.
dawn-dusk
lib: lib/date/hebrew
ctx: ~sunrise
stack: mm dd yyyy -- dusk dawn
ver: 9.0.6
desc: For the location previously set, calculates the approximate time of
dawn and dusk, as whole minutes from local midnight. For the purposes of
this algorithm, both are defined as the sun being 7 degrees below the
horizon, which is about when the stars begin to be visible.
See 'rise-set' for more details.
SIGABRT
lib: lib/os/process
ctx: ~process
stack: -- n
ver: 6.1.6
desc: Value of the "ABoRT" signal
hinst
lib: REMOVED
ctx: ~util
stack: -- n
desc: Return process instance handle
2,
lib: REMOVED
ctx: ~strings
stack: n --
desc: Put two bytes at "here", and increment here by
the number of bytes put there.
dstr
lib: lib/string/redirect
ctx: ~os
stack: n -- a
ver: 7.0.6
desc: Allocate a new dynamic string with space for 'n' characters. The string
will grow as needed when "dplace" and "+dplace" are used to add content to
it. Remember to call "dfree" on the string to release the memory allocated.
(argv)
lib: REMOVED
ctx: ~reva
stack: --
desc: Pointer to the raw 'argv' data. You probably want 'argv' instead.
"
lib: src/core{lin,win}.asm
ctx: ~strings
stack: <str>" -- a n
desc: Create a string by parsing input up to the next double-quote. If
compiling, the string data are put in the heap and the runtime
code will push the address and length of the string on the stack.
If interpreting, the address and length will be put on the stack,
and the string will be allocated from a buffer for transient
strings. In either case, one may put a double quote inside a
string by prefacing it with the '\' (backslash) character:
"\"Hi!\", said Mary"
NOTE: strings created interactively have a 255 byte limit.
Compiled strings, do not have that limitation.
qsort
lib: lib/alg/insertsort
ctx: ~strings
stack: buf size --
desc: Sort the buffer "buf" of "size" cells, using the QuickSort algorithm.
d2*
lib: lib/math/mod
ctx: ~struct
stack: d1 -- d2
ver: 6.1.6
desc: Multiply the double "d1" by 2, giving "d2"
libiconv
lib: lib/string/trim
ctx: ~os
stack: -- lib
desc: Library handle to the "libiconv" library.
WIN
lib: src/core{lin,win}.asm
ctx: ~strings
stack: -- f
ver: 9.0.2
desc: Returns "true" if running under Windows, "false" otherwise.
errno
lib: src/core{lin,win}.asm
ctx: ~util
stack: --
ver: 7.0.6
desc: Returns the last os-specific error code. On Windows this maps
to "GetLastError", on Linux it's 'errno'.
'inline
lib: REMOVED
ctx: ~strings
stack: xt --
desc: Implementation of the "inline" class.
'value
lib: REMOVED
ctx: ~strings
stack: xt --
ver: 6.0.8
desc: Class for "value"s
send
lib: lib/net/curl
ctx: ~curl
stack: sock buf len flags -- sent
desc: Low level send function. Returns the number of characters actually sent,
which may be fewer than 'len'.
rel>
lib: src/core{lin,win}.asm
ctx: ~io
stack: rel -- xt
ver: 6.0.4
desc: Converts a relative offset to an XT
d+
lib: lib/math/mod
ctx: ~struct
stack: d1 d2 -- d3
desc: Adds the doubles "d1" and "d2" to create "d3".
timer>
lib: lib/choices
ctx: ~reva
stack: n -- m
ver: 9.0.11
desc: Gets the current elapsed number of milliseconds since timer 'n' was started.
d+
lib: lib/alg/dictionary
ctx: ~struct
stack: d1 d2 -- d3
ver: 6.0.4
desc: MOVED TO math/doubles in 6.0.11
Adds "d1" and "d2" to make "d3"
_dup
lib: src/reva.f
ctx: ~strings
stack: a b -- a a b
ver: 9.0.10
desc: Duplicate cells just under TOS, same as "over swap" but much
faster
weekday-after
lib: lib/string/justify
ctx: ~sunrise
stack: date k -- date'
desc: Given a fixed date and a weekday, return a fixed date which is that weekday,
and as near to the fixed date passed in as possible, within a week after.
noop
lib: src/core{lin,win}.asm
ctx: ~strings
stack: --
desc: Does nothing. This is the default value for 'defer'ed words.
hebrew-month-name
lib: lib/date/iso
ctx: ~sunrise
stack: nr -- a n
desc: Returns the Hebrew month name corresponding to the number passed in.
>in
lib: REMOVED
ctx: ~io
stack: -- tin
desc: Variable holding pointer to current location in tib.
big:
lib: lib/math/floats
ctx: ~floats
stack: <name> --
ver: 6.1.6
desc: Create a "big" math object, initialized to zero.
case
lib: src/reva.f
ctx: ~strings
stack: --
ver: 6.0.11
desc: Begins a "case ... endcase" construct. Used instead of
multiple "if ... else ?.. then".
Example:
case
1 of ... endof
4 of ... endof
| default case is here
endcase
If none of the cases is handled, it falls through to the
"default case" section. The case selector will be in TOS
dict?
lib: src/core{lin,win}.asm
ctx: ~io
stack: <name> --
ver: 6.1
desc: Puts dict of "<name>" in TOS, or throws -1 and prints "... is
not a word" if the word does not exist.
save-gui
lib: lib/ui/gui-db
ctx: ~ui-priv