retroforth/doc/Syntax.md
crc 01c40d9d3d shorter lines in docs
FossilOrigin-Name: a3102b7f4f5bd64f79d0ead274320061feb044e888718ffe45464a52ee4cf612
2017-10-22 18:39:45 +00:00

1.1 KiB

Syntax

RETRO code consists of a series of whitespace delimited tokens. Each of these can have an optional prefix telling RETRO how to treat the token. If the token lacks a valid prefix, it will be treated as a word name.

So:

[prefix][token]

Prefixes are single character modifiers. They are similar to colors in ColorForth, but are handled via words in the prefix: namespace.

The major prefixes are:

Prefix Used For
@ Fetch from variable
! Store into variable
& Pointer to named item
# Numbers
$ ASCII characters
' Strings
( Comments
: Define a word

Example:

(This_is_a_comment)

(Define_some_words)
:hello  (-)
  'Hello_World! puts nl ;

:n:square  (n-m)
  dup * ;

(Use_them)
hello
#33 n:square

(More_Things)
$a (this_is_the_ASCII_'a')

'Use_underscores_in_place_of_spaces_in_strings
&puts call

'Foo var
#100 !Foo
@Foo putn