Defining words
Factor documentation > Factor handbook > The language > Parsing words
Prev:Nested structure
Next:Parsing raw tokens


Defining words add definitions to the dictionary without modifying the parse tree. The simplest example is the SYMBOL: word.
USING: parser words.symbol ;

IN: syntax

SYNTAX: SYMBOL: scan-new-word define-symbol ;

The key factor in the definition of SYMBOL: is scan-new, which reads a token from the input and creates a word with that name. This word is then passed to define-symbol.
scan-new ( -- word )

scan-new-word ( -- word )


Colon definitions are defined in a more elaborate way:
:


The : word first calls scan-new, and then reads input until reaching ; using a utility word:
parse-definition ( -- quot )


The ; word is just a delimiter; an unpaired occurrence throws a parse error:
IN: syntax

DEFER: ; ( -- * ) delimiter

There are additional parsing words whose syntax is delimited by ;, and they are all implemented by calling parse-definition.