proto.str revision 1.1
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