1 require char
+ !libs
/ans
/crap
.f
4 S
" [UNDEFINED]" PAD C
! PAD CHAR
+ PAD C@ CMOVE
6 : [UNDEFINED
] ( "word" -- tf
) BL WORD FIND NIP
0= ; IMMEDIATE
8 [UNDEFINED
] [DEFINED
] [IF]
9 : [DEFINED
] ( "word" -- tf
) BL WORD FIND NIP
; IMMEDIATE
16 [UNDEFINED
] CELL
- [IF]
17 : CELL
- POSTPONE CELL POSTPONE
- ; IMMEDIATE
21 : KEY?
( -- flag
) false
;
24 \ Wil Baden implements wbMACRO
for portably inlining code
25 : wbMACRO
( "name <char> ccc<char>" -- )
27 parse
-name
1 <> err
-char
-expected ?error c@ \ CHAR
28 PARSE POSTPONE SLITERAL POSTPONE EVALUATE
32 : wbMACRO
( "name <char> ccc<char>" -- )
33 create
[compile
] immediate
34 parse
-name
1 = not
-?abort
" fuck?"
35 c@ parse dup cell
+ n
-allot c4s
:copy
-counted
40 \
' MACRO ALIAS wbMACRO \ if line-profiling on Win32Forth
42 [UNDEFINED] tolower [IF]
43 \ : tolower ( C -- c ) $20 OR ;
44 alias locase-char tolower