retroforth/make-book.retro

69 lines
1.9 KiB
Text
Raw Normal View History

#!/usr/bin/env retro
~~~
'book/ 'BOOK-BASE s:const
'Out var
:import here swap BOOK-BASE s:prepend file:slurp ;
:\n ASCII:LF @Out file:write ;
:add-to-book here [ @Out file:write ] s:for-each \n ;
:process-files [ import add-to-book ] array:for-each ;
:open 'RETRO-Book.md file:open<for-writing> !Out ;
:close @Out file:close ;
:assemble open process-files close ;
:open 'gophermap file:open<for-writing> !Out ;
:close @Out file:close ;
:ENTRY '0%s\t/book/%s\tforth.works\t70\n ;
:process-files [ dup ENTRY s:format [ @Out file:write ] s:for-each ] array:for-each ;
:gophermap open process-files close ;
:process dup assemble gophermap ;
{
'Overview
'Obtaining-Retro
'Building-BSD
'Building-Linux
'Building-macOS
'Building-Windows
'Starting-BSD
'Starting-Linux
'Starting-macOS
'Starting-Windows
'Basic-Interactions
'Syntax
'Quick-Tutorial
'Using-the-Glossary
'Programming-Techniques
'Programming-Techniques-Unu
'Programming-Techniques-Naming-Conventions
'Programming-Techniques-Stack-Diagrams
'Programming-Techniques-Word-Classes
'Programming-Techniques-Using-Combinators
'Programming-Techniques-Working-With
'The-Stacks
'Programming-Techniques-Working-With-Arrays
'Programming-Techniques-Working-With-Buffer
'Programming-Techniques-Working-With-Characters
'Programming-Techniques-Working-With-Dictionary
'Programming-Techniques-Working-With-Floating-Point
'Programming-Techniques-Working-With-Numbers
'Programming-Techniques-Working-With-Pointers
'Programming-Techniques-Working-With-Strings
'Programming-Techniques-Writing-Combinators
'Programming-Techniques-Return-Stack
'Programming-Techniques-Working-With-Assembly
'Internals
'Internals-Nga
'Internals-Interface-Layers
'Internals-Retro-Image
'Additional-Tools
'Advanced-Builds
'Retro-Compiler
'Errors
'Tech-Notes
'Historical-Papers
} process
~~~