133965Sjdp
233965Sjdp: SYNOPSIS
333965Sjdp	skip_past_newline
433965Sjdp	get_stuff_in_command	
533965Sjdp	paramstuff
633965Sjdp	indent
733965Sjdp	maybecatstr
833965Sjdp;
933965Sjdp
1033965Sjdp: ignore
1133965Sjdp	skip_past_newline 
1233965Sjdp	get_stuff_in_command
1333965Sjdp	outputdots
1433965Sjdp	maybecatstr
1533965Sjdp	;
1633965Sjdp
1733965Sjdp: CODE_FRAGMENT
1833965Sjdp	ignore ;
1933965Sjdp
2033965Sjdp: external
2133965Sjdp	0 internalmode ignore ;
2233965Sjdp
2333965Sjdp: internal 
2433965Sjdp	1 internalmode ignore ;
2533965Sjdp
2633965Sjdp- input stack { a b } output b if internal, a if external
2733965Sjdp: ifinternal
2833965Sjdp	"" swap 1 internalmode maybecatstr
2933965Sjdp	swap
3033965Sjdp	"" swap 0 internalmode maybecatstr
3133965Sjdp	catstr
3233965Sjdp	;
3333965Sjdp
3433965Sjdp- Put note in output string, regardless of internal mode.
3533965Sjdp: COMMENT
3633965Sjdp	skip_past_newline
3733965Sjdp	get_stuff_in_command
3833965Sjdp	translatecomments
3933965Sjdp	catstr
4033965Sjdp	;
4133965Sjdp
4233965Sjdp- SENUM    enum-type-name
4333965Sjdp- ENUM     enum-name
4433965Sjdp- ENUMX    addl-enum-name
4533965Sjdp- ENUMDOC  doc for preceding enums
4633965Sjdp- ENDSENUM max-enum-name
4733965Sjdp
4833965Sjdp: make_enum_header
4933965Sjdp	dup
5033965Sjdp	"enum " swap catstr
5133965Sjdp	" {\n" catstr
5233965Sjdp	swap "  _dummy_first_" swap catstr catstr
5333965Sjdp	",\n" catstr
5433965Sjdp	;
5533965Sjdp: make_string_table_header
5633965Sjdp	dup
5733965Sjdp	"#ifdef _BFD_MAKE_TABLE_" swap catstr swap
5833965Sjdp	"\n\nstatic const char *const " swap catstr catstr
5933965Sjdp	"_names[] = { \"@@uninitialized@@\",\n" catstr
6033965Sjdp	;
6133965Sjdp: SENUM
6233965Sjdp	skip_past_newline
6333965Sjdp	copy_past_newline
6433965Sjdp	remchar
6533965Sjdp	dup
6633965Sjdp	make_enum_header
6733965Sjdp	swap
6833965Sjdp	make_string_table_header
6933965Sjdp	ifinternal
7033965Sjdp	catstr
7133965Sjdp	get_stuff_in_command catstr
7233965Sjdp	translatecomments ;
7333965Sjdp: ENDSENUM
7433965Sjdp	skip_past_newline
7533965Sjdp	copy_past_newline strip_trailing_newlines
7633965Sjdp	dup
7733965Sjdp	"  " swap catstr " };\n" catstr	swap
7833965Sjdp	" \"@@overflow: " swap catstr "@@\",\n};\n#endif\n\n" catstr
7933965Sjdp	ifinternal
8033965Sjdp	catstr
8133965Sjdp	;
8233965Sjdp: make_enumerator
8333965Sjdp	"  " swap catstr
8433965Sjdp	",\n" catstr
8533965Sjdp	;
8633965Sjdp: make_enumerator_string
8733965Sjdp	"  \"" swap catstr
8833965Sjdp	"\",\n" catstr
8933965Sjdp	;
9033965Sjdp: ENUM
9133965Sjdp	skip_past_newline
9233965Sjdp	copy_past_newline
9333965Sjdp	remchar
9433965Sjdp	dup
9533965Sjdp	make_enumerator
9633965Sjdp	swap
9733965Sjdp	make_enumerator_string
9833965Sjdp	ifinternal
9933965Sjdp	;
10033965Sjdp: ENUMX ENUM catstr ;
10133965Sjdp: ENUMEQ
10233965Sjdp	skip_past_newline
10333965Sjdp	"#define "
10433965Sjdp	copy_past_newline remchar
10533965Sjdp	catstr
10633965Sjdp	" "
10733965Sjdp	catstr
10833965Sjdp	copy_past_newline
10933965Sjdp	catstr
11033965Sjdp	"" swap 0 internalmode maybecatstr
11133965Sjdp	;
11233965Sjdp: ENUMEQX ENUMEQ catstr ;
11333965Sjdp: ENUMDOC
11433965Sjdp	skip_past_newline
11533965Sjdp	get_stuff_in_command
11633965Sjdp	strip_trailing_newlines
11791041Sobrien	"\n{* " swap catstr "  *}\n" catstr
11833965Sjdp	translatecomments
11933965Sjdp	- discard it if we're doing internal mode
12033965Sjdp	"" swap 0 internalmode maybecatstr
12133965Sjdp	swap
12233965Sjdp	catstr catstr
12333965Sjdp	;
12433965Sjdp: ENDDD external ;
12533965Sjdp: SECTION ignore ;
12633965Sjdp: SUBSECTION ignore ;
12733965Sjdp: SUBSUBSECTION ignore ;
12833965Sjdp: INTERNAL_DEFINITION internal ;
12933965Sjdp: DESCRIPTION ignore ;
13033965Sjdp: FUNCTION external ;
13133965Sjdp: RETURNS ignore ;
13233965Sjdp: TYPEDEF external ;
13333965Sjdp: INTERNAL_FUNCTION internal ;
13433965Sjdp: INTERNAL internal ;
13533965Sjdp: INODE ignore ;
136