File:
[gforth] /
gforth /
glosgen.glo
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs
Fri Feb 11 16:30:47 1994 UTC (30 years, 2 months ago) by
anton
Branches:
no-vendor,
MAIN
CVS tags:
v0-7-0,
v0-6-2,
v0-6-1,
v0-6-0,
v0-5-0,
v0-4-0,
v0-3-0,
v0-2-1,
v0-2-0,
gforth-0_1beta,
alpha,
HEAD
The GNU Forth Project
1: \G comments should appear immediately above or below the definition of
2: the word it belongs to. The definition line should contain no more
3: than the definition, a stack comment and a \ comment after which
4: the wordset and pronounciation.
5: An isolated block of \G comments is placed at the beginning of the
6: glossary file.
7:
8: A typical glossary session may look like:
9: NEWGLOS MAKEGLOS SOURCE1.STR MAKEGLOS SOURCE2.STR WRITEGLOS GLOS.GLO
10:
11: BUILD-HLINE addr ---
12: Build header line for glossary entry.
13:
14: GLOS-COMMENT? --- flag
15: Determine if line at HERE is glossary comment, if so.
16: allot it, else store into oldline.
17:
18: INSERT-HEADER addr ---
19: Insert the header into the list at the alphabetically correct place.
20:
21: MAKE-GLOSENTRY fid --- fid flag
22: Read lines from the file fid until \G line encountered.
23: Collect all adjacent \G lines and find header line.
24: then insert entry into list flag=0 if no entry found.
25:
26: MAKEGLOS "name"
27: This command reads a source file and builds glossary info
28: for it in memory.
29:
30: NEWGLOS
31: This command starts a fresh glossary.
32:
33: PROCESS-HEADER
34: Process the header information stored in OLDLINE
35:
36: SCAN-WORD ---- addr len
37: Scan a word on oldline through pointer charptr
38:
39: WRITE-GLOSENTRY addr fid ---
40: write the glossary entry at address addr to file fid.
41:
42: WRITEGLOS "name"
43: This command writes the glossary info from memory to a file.
44: The glossary info may be collected from more source files.
45:
46: \G
47: \G is an alias for \, so it is a comment till end-of-line, but
48: it has a special meaning for the Glossary Generator.
49:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>