1 2 : SYNOPSIS 3 skip_past_newline 4 get_stuff_in_command 5 paramstuff 6 indent 7 maybecatstr 8 ; 9 10 : ignore 11 skip_past_newline 12 get_stuff_in_command 13 outputdots 14 maybecatstr 15 ; 16 17 : CODE_FRAGMENT 18 ignore ; 19 20 : external 21 0 internalmode ignore ; 22 23 : internal 24 1 internalmode ignore ; 25 26 - input stack { a b } output b if internal, a if external 27 : ifinternal 28 "" swap 1 internalmode maybecatstr 29 swap 30 "" swap 0 internalmode maybecatstr 31 catstr 32 ; 33 34 - Put note in output string, regardless of internal mode. 35 : COMMENT 36 skip_past_newline 37 get_stuff_in_command 38 translatecomments 39 catstr 40 ; 41 42 - SENUM enum-type-name 43 - ENUM enum-name 44 - ENUMX addl-enum-name 45 - ENUMDOC doc for preceding enums 46 - ENDSENUM max-enum-name 47 48 : make_enum_header 49 dup 50 "enum " swap catstr 51 " {\n" catstr 52 swap " _dummy_first_" swap catstr catstr 53 ",\n" catstr 54 ; 55 : make_string_table_header 56 dup 57 "#ifdef _BFD_MAKE_TABLE_" swap catstr swap 58 "\n\nstatic const char *const " swap catstr catstr 59 "_names[] = { \"@@uninitialized@@\",\n" catstr 60 ; 61 : SENUM 62 skip_past_newline 63 copy_past_newline 64 remchar 65 dup 66 make_enum_header 67 swap 68 make_string_table_header 69 ifinternal 70 catstr 71 get_stuff_in_command catstr 72 translatecomments ; 73 : ENDSENUM 74 skip_past_newline 75 copy_past_newline strip_trailing_newlines 76 dup 77 " " swap catstr " };\n" catstr swap 78 " \"@@overflow: " swap catstr "@@\",\n};\n#endif\n\n" catstr 79 ifinternal 80 catstr 81 ; 82 : make_enumerator 83 " " swap catstr 84 ",\n" catstr 85 ; 86 : make_enumerator_string 87 " \"" swap catstr 88 "\",\n" catstr 89 ; 90 : ENUM 91 skip_past_newline 92 copy_past_newline 93 remchar 94 dup 95 make_enumerator 96 swap 97 make_enumerator_string 98 ifinternal 99 ; 100 : ENUMX ENUM catstr ; 101 : ENUMEQ 102 skip_past_newline 103 "#define " 104 copy_past_newline remchar 105 catstr 106 " " 107 catstr 108 copy_past_newline 109 catstr 110 "" swap 0 internalmode maybecatstr 111 ; 112 : ENUMEQX ENUMEQ catstr ; 113 : ENUMDOC 114 skip_past_newline 115 get_stuff_in_command 116 strip_trailing_newlines 117 "\n{* " swap catstr " *}\n" catstr 118 translatecomments 119 - discard it if we're doing internal mode 120 "" swap 0 internalmode maybecatstr 121 swap 122 catstr catstr 123 ; 124 : ENDDD external ; 125 : SECTION ignore ; 126 : SUBSECTION ignore ; 127 : SUBSUBSECTION ignore ; 128 : INTERNAL_DEFINITION internal ; 129 : DESCRIPTION ignore ; 130 : FUNCTION external ; 131 : RETURNS ignore ; 132 : TYPEDEF external ; 133 : INTERNAL_FUNCTION internal ; 134 : INTERNAL internal ; 135 : INODE ignore ; 136