
: SYNOPSIS
	skip_past_newline
	get_stuff_in_command	
	paramstuff
	indent
	maybecatstr
;

: ignore
	skip_past_newline 
	get_stuff_in_command
	outputdots
	maybecatstr
	;

: CODE_FRAGMENT
	ignore ;

: external
	0 internalmode ignore ;

: internal 
	1 internalmode ignore ;

- input stack { a b } output b if internal, a if external
: ifinternal
	"" swap 1 internalmode maybecatstr
	swap
	"" swap 0 internalmode maybecatstr
	catstr
	;

- Put note in output string, regardless of internal mode.
: COMMENT
	skip_past_newline
	get_stuff_in_command
	translatecomments
	catstr
	;

- SENUM    enum-type-name
- ENUM     enum-name
- ENUMX    addl-enum-name
- ENUMDOC  doc for preceding enums
- ENDSENUM max-enum-name

: make_enum_header
	dup
	"enum " swap catstr
	" {\n" catstr
	swap "  _dummy_first_" swap catstr catstr
	",\n" catstr
	;
: make_string_table_header
	dup
	"#ifdef _BFD_MAKE_TABLE_" swap catstr swap
	"\n\nstatic const char *const " swap catstr catstr
	"_names[] = { \"@@uninitialized@@\",\n" catstr
	;
: SENUM
	skip_past_newline
	copy_past_newline
	remchar
	dup
	make_enum_header
	swap
	make_string_table_header
	ifinternal
	catstr
	get_stuff_in_command catstr
	translatecomments ;
: ENDSENUM
	skip_past_newline
	copy_past_newline strip_trailing_newlines
	dup
	"  " swap catstr " };\n" catstr	swap
	" \"@@overflow: " swap catstr "@@\",\n};\n#endif\n\n" catstr
	ifinternal
	catstr
	;
: make_enumerator
	"  " swap catstr
	",\n" catstr
	;
: make_enumerator_string
	"  \"" swap catstr
	"\",\n" catstr
	;
: ENUM
	skip_past_newline
	copy_past_newline
	remchar
	dup
	make_enumerator
	swap
	make_enumerator_string
	ifinternal
	;
: ENUMX ENUM catstr ;
: ENUMEQ
	skip_past_newline
	"#define "
	copy_past_newline remchar
	catstr
	" "
	catstr
	copy_past_newline
	catstr
	"" swap 0 internalmode maybecatstr
	;
: ENUMEQX ENUMEQ catstr ;
: ENUMDOC
	skip_past_newline
	get_stuff_in_command
	strip_trailing_newlines
	"\n{* " swap catstr "  *}\n" catstr
	translatecomments
	- discard it if we're doing internal mode
	"" swap 0 internalmode maybecatstr
	swap
	catstr catstr
	;
: ENDDD external ;
: SECTION ignore ;
: SUBSECTION ignore ;
: SUBSUBSECTION ignore ;
: INTERNAL_DEFINITION internal ;
: DESCRIPTION ignore ;
: FUNCTION external ;
: RETURNS ignore ;
: TYPEDEF external ;
: INTERNAL_FUNCTION internal ;
: INTERNAL internal ;
: INODE ignore ;
