retroforth/doc/book/toolchain/info/additional-tools

83 lines
2 KiB
Text
Raw Normal View History

# Additional Tools
In addition to the core `retro` binary, the `bin` directory
will contain a few other tools.
## retro
This is the main RETRO binary.
## retro-describe
This is a program that looks up entries in the Glossary.
At the command line, you can use it like:
retro-describe s:for-each
You can pass multiple word names to it:
retro-describe s:for-each nl d:words
## retro-embedimage
This is a program which generates a C file with the ngaImage
contents. It's used when building `retro`.
retro-embedimage ngaImage
The output is written to stdout; redirect it as needed.
## retro-extend
This is a program which compiles code into the ngaImage.
It's used when building `retro` and when you want to make a
standalone image with custom additions.
Example command line:
retro-extend ngaImage example/rot13.forth
Pass the image name as the first argument, and then file names
as susequent ones. Do *not* use this for things relying on I/O
apart from the basic console output as it doesn't emulate other
devices. If you need to load in things that rely on using the
optional I/O devices, see the **Advanced Builds** chapter.
## retro-muri
This is the assembler for Nga. It's used to build the initial
RETRO kernel and can be used by other tools as well.
retro-muri retro.muri
## retro-tags and retro-locate
These tools are intended to be used together. The first tool,
`retro-tags`, will recursively scan the current directory for
RETRO source files and extract the locations of words defined
in them. These will be written to disk in a `tags` file, using
the standard ctags format.
`retro-locate` takes a word name, and returns the location(s)
where it is defined. This requires a `tags` file to be present.
Create the `tags` file:
retro-tags
Locate a word:
retro-locate n:square
## retro-unu
This is the literate source extraction tool for RETRO. It
is used in building `retro`.
Example usage:
retro-unu literate/RetroForth.md
Output is written to stdout; redirect as neeeded.