0 VALUE (})
: } (}) EXECUTE ;
: (end-namespace) PREVIOUS DEFINITIONS ;
: namespace
WORDLIST CREATE DUP ,
>R GET-ORDER R> SWAP 1+ SET-ORDER DEFINITIONS
BL WORD COUNT 1 <> SWAP C@ [CHAR] { <> OR ABORT" syntax error"
['] (end-namespace) TO (})
DOES> @ ' EXECUTE
;
: ::
>R GET-ORDER R> 1 SET-ORDER
' >R SET-ORDER R> EXECUTE
;
: >SHL ;
: << >R ' EXECUTE R@ >SHL @ EXECUTE R> ;
: S' [CHAR] ' PARSE >R HERE R@ CMOVE HERE R> ;
namespace std {
CREATE cout ' TYPE ,
CREATE (endl) 10 C,
: endl (endl) 1 ;
}
std :: cout << S' Именно поэтому я за "Forth"' << std :: endl
MCBWQUxVRSAofSkKCjogfSAgKH0pIEVYRUNVVEUgOwoKOiAoZW5kLW5hbWVzcGFjZSkgIFBSRVZJT1VTIERFRklOSVRJT05TIDsKCjogbmFtZXNwYWNlCiAgIFdPUkRMSVNUIENSRUFURSBEVVAgLAogICA+UiBHRVQtT1JERVIgUj4gU1dBUCAxKyBTRVQtT1JERVIgREVGSU5JVElPTlMKICAgQkwgV09SRCBDT1VOVCAxIDw+IFNXQVAgQ0AgW0NIQVJdIHsgPD4gT1IgQUJPUlQiIHN5bnRheCBlcnJvciIKICAgWyddIChlbmQtbmFtZXNwYWNlKSBUTyAofSkKCiAgIERPRVM+IEAgJyBFWEVDVVRFCjsKCjogOjoKICAgPlIgR0VULU9SREVSIFI+IDEgU0VULU9SREVSCiAgICcgPlIgU0VULU9SREVSIFI+IEVYRUNVVEUKOwoKOiA+U0hMIDsKCjogPDwgID5SICcgRVhFQ1VURSBSQCA+U0hMIEAgRVhFQ1VURSBSPiA7Cgo6IFMnICBbQ0hBUl0gJyBQQVJTRSA+UiBIRVJFIFJAIENNT1ZFICBIRVJFIFI+IDsKCm5hbWVzcGFjZSBzdGQgewogICAgQ1JFQVRFIGNvdXQgJyBUWVBFICwKICAgIENSRUFURSAoZW5kbCkgMTAgQywKICAgIDogZW5kbCAgKGVuZGwpIDEgOwp9CgpzdGQgOjogY291dCA8PCBTJyDQmNC80LXQvdC90L4g0L/QvtGN0YLQvtC80YMg0Y8g0LfQsCAiRm9ydGgiJyA8PCBzdGQgOjogZW5kbAo=