114 #define SYSTEM_TAB_SIZE sizeof(system_table) / sizeof(struct system_struct)
188 #define EXT_SYSTEM_TAB_SIZE \
189 sizeof(ext_system_table) / sizeof(struct system_struct)
207 {
"ACTIVE-CLASS", 0, 0, -1,
219 {
"AFTER", 0, 0,
AFTER,
222 {
"ALIGNED", 0, 0, -1,
249 {
"ALSO", 0, 0,
ALSO,
252 {
"ALTER", 0, 0,
ALTER,
264 {
"ANYCASE", 0, 0, -1,
270 {
"AREA", 0, 0,
AREA,
273 {
"AREAS", 0, 0,
AREA,
282 {
"ARITHMETIC", 0, 1, -1,
291 {
"ASCII", 0, 1,
ASCII,
303 {
"AUTO", 0, 0,
AUTO,
306 {
"AUTO-SKIP", 0, 0,
AUTO,
312 {
"AUTOTERMINATE", 0, 0,
AUTO,
336 {
"BASED", 0, 0,
BASED,
339 {
"BEEP", 0, 0,
BELL,
345 {
"BELL", 0, 0,
BELL,
375 {
"BLANK", 0, 0,
BLANK,
378 {
"BLINK", 0, 0,
BLINK,
381 {
"BLOCK", 0, 0,
BLOCK,
384 {
"BOOLEAN", 0, 0, -1,
396 {
"CALL", 1, 0,
CALL,
406 {
"CENTER", 0, 1, -1,
428 {
"CLASS", 0, 0,
CLASS,
431 {
"CLASS-ID", 0, 0, -1,
437 {
"CLOSE", 0, 0,
CLOSE,
440 {
"CODE", 0, 0,
CODE,
452 {
"COLS", 0, 0,
COLS,
461 {
"COMMA", 0, 0,
COMMA,
473 {
"COMP", 0, 0,
COMP,
477 #ifdef COB_EBCDIC_MACHINE
501 #ifndef COB_EBCDIC_MACHINE
506 {
"COMPUTATIONAL", 0, 0,
COMP,
510 #ifdef COB_EBCDIC_MACHINE
511 {
"COMPUTATIONAL-X", 0, 0,
COMP_X,
515 {
"COMPUTATIONAL-1", 0, 0,
COMP_1,
518 {
"COMPUTATIONAL-2", 0, 0,
COMP_2,
521 {
"COMPUTATIONAL-3", 0, 0,
COMP_3,
524 {
"COMPUTATIONAL-4", 0, 0,
COMP_4,
527 {
"COMPUTATIONAL-5", 0, 0,
COMP_5,
531 #ifndef COB_EBCDIC_MACHINE
532 {
"COMPUTATIONAL-X", 0, 0,
COMP_X,
569 {
"COPY", 0, 0,
COPY,
578 {
"COUNT", 0, 0,
COUNT,
593 {
"CYCLE", 0, 1,
CYCLE,
596 {
"DATA", 0, 0,
DATA,
599 {
"DATA-POINTER", 0, 0, -1,
602 {
"DATE", 0, 0,
DATE,
641 {
"DESTINATION", 0, 0, -1,
647 {
"DISABLE", 0, 0, -1,
650 {
"DISC", 0, 1,
DISC,
653 {
"DISK", 0, 1,
DISK,
665 {
"DOWN", 0, 0,
DOWN,
680 {
"ELSE", 0, 0,
ELSE,
698 {
"END-CHAIN", 0, 0, -1,
722 {
"END-OF-PAGE", 0, 0,
EOP,
755 {
"ENTRY", 0, 0,
ENTRY,
758 {
"ENTRY-CONVENTION", 0, 1, -1,
782 {
"EQUAL", 0, 0,
EQUAL,
785 {
"EQUALS", 0, 0,
EQUAL,
788 {
"ERASE", 0, 0,
ERASE,
791 {
"ERROR", 0, 0,
ERROR,
803 {
"EXCEPTION-OBJECT", 0, 0, -1,
809 {
"EXIT", 0, 0,
EXIT,
812 {
"EXPANDS", 0, 1, -1,
821 {
"FACTORY", 0, 0, -1,
842 {
"FINAL", 0, 0,
FINAL,
845 {
"FIRST", 0, 0,
FIRST,
848 {
"FLOAT-BINARY-128", 0, 0, -1,
851 {
"FLOAT-BINARY-32", 0, 0, -1,
854 {
"FLOAT-BINARY-64", 0, 0, -1,
864 {
"FLOAT-DECIMAL-7", 0, 0, -1,
868 {
"FLOAT-EXTENDED", 0, 0, -1,
871 {
"FLOAT-INFINITY", 0, 0, -1,
877 {
"FLOAT-NOT-A-NUMBER", 0, 1, -1,
898 {
"FORMAT", 0, 0, -1,
901 {
"FREE", 0, 0,
FREE,
904 {
"FROM", 0, 0,
FROM,
907 {
"FULL", 0, 0,
FULL,
916 {
"FUNCTION-POINTER", 0, 0, -1,
940 {
"GRID", 0, 0,
GRID,
943 {
"GROUP", 0, 0,
GROUP,
946 {
"GROUP-USAGE", 0, 0, -1,
982 {
"IMPLEMENTS", 0, 1, -1,
988 {
"INDEX", 0, 0,
INDEX,
997 {
"INDIRECT", 0, 1, -1,
1000 {
"INHERITS", 0, 0, -1,
1022 {
"INPUT", 0, 0,
INPUT,
1031 {
"INTERFACE", 0, 0, -1,
1034 {
"INTERFACE-ID", 0, 0, -1,
1037 {
"INTERMEDIATE", 0, 1, -1,
1041 {
"INTO", 0, 0,
INTO,
1050 {
"INVOKE", 0, 0, -1,
1062 {
"KEPT", 0, 0,
KEPT,
1071 {
"LABEL", 0, 0,
LABEL,
1074 {
"LAST", 0, 0,
LAST,
1077 {
"LC_ALL", 0, 1, -1,
1080 {
"LC_COLLATE", 0, 1, -1,
1083 {
"LC_CTYPE", 0, 1, -1,
1086 {
"LC_MESSAGES", 0, 1, -1,
1089 {
"LC_MONETARY", 0, 1, -1,
1092 {
"LC_NUMERIC", 0, 1, -1,
1095 {
"LC_TIME", 0, 1, -1,
1101 {
"LEFT", 0, 0,
LEFT,
1104 {
"LEFT-JUSTIFY", 0, 0, -1,
1110 {
"LENGTH", 0, 0,
LENGTH,
1113 {
"LENGTH-CHECK", 0, 0,
FULL,
1116 {
"LESS", 0, 0,
LESS,
1119 {
"LIMIT", 0, 0,
LIMIT,
1122 {
"LIMITS", 0, 0,
LIMITS,
1125 {
"LINAGE", 0, 0,
LINAGE,
1131 {
"LINE", 0, 0,
LINE,
1137 {
"LINES", 0, 0,
LINES,
1146 {
"LOCALE", 0, 0,
LOCALE,
1149 {
"LOCK", 0, 0,
LOCK,
1158 {
"LOWER", 0, 1,
LOWER,
1164 {
"MANUAL", 0, 0,
MANUAL,
1167 {
"MEMORY", 0, 0,
MEMORY,
1170 {
"MERGE", 0, 0,
MERGE,
1173 {
"METHOD", 0, 0, -1,
1176 {
"METHOD-ID", 0, 0, -1,
1179 {
"MINUS", 0, 0,
MINUS,
1182 {
"MODE", 0, 0,
MODE,
1185 {
"MOVE", 0, 0,
MOVE,
1194 {
"NAME", 0, 1,
NAME,
1203 {
"NATIVE", 0, 0,
NATIVE,
1218 {
"NESTED", 0, 0, -1,
1221 {
"NEXT", 0, 0,
NEXT,
1233 {
"NORMAL", 0, 1,
NORMAL,
1248 {
"NUMBER", 0, 0,
NUMBER,
1260 {
"OBJECT", 0, 0, -1,
1266 {
"OBJECT-REFERENCE", 0, 0, -1,
1269 {
"OCCURS", 0, 0,
OCCURS,
1284 {
"ONLY", 0, 0,
ONLY,
1287 {
"OPEN", 0, 0,
OPEN,
1293 {
"OPTIONS", 0, 0, -1,
1299 {
"ORDER", 0, 0,
ORDER,
1308 {
"OTHER", 0, 0,
OTHER,
1311 {
"OUTPUT", 0, 0,
OUTPUT,
1320 {
"OVERRIDE", 0, 0, -1,
1329 {
"PAGE", 0, 0,
PAGE,
1353 {
"PLUS", 0, 0,
PLUS,
1365 {
"PREFIXED", 0, 1, -1,
1375 {
"PRINT", 0, 1,
PRINT,
1411 {
"PROMPT", 0, 0,
PROMPT,
1414 {
"PROPERTY", 0, 0, -1,
1420 {
"PROTOTYPE", 0, 0, -1,
1423 {
"QUOTE", 0, 0,
QUOTE,
1426 {
"QUOTES", 0, 0,
QUOTE,
1429 {
"RAISE", 0, 0, -1,
1432 {
"RAISING", 0, 0, -1,
1435 {
"RANDOM", 0, 0,
RANDOM,
1441 {
"READ", 1, 0,
READ,
1444 {
"RECORD", 0, 0,
RECORD,
1459 {
"REEL", 0, 0,
REEL,
1468 {
"RELATION", 0, 1, -1,
1492 {
"REPORT", 0, 0,
REPORT,
1510 {
"RESET", 0, 0,
RESET,
1513 {
"RESUME", 0, 0, -1,
1516 {
"RETRY", 0, 0, -1,
1519 {
"RETURN", 1, 0,
RETURN,
1531 {
"REWIND", 0, 0,
REWIND,
1543 {
"RIGHT", 0, 0,
RIGHT,
1546 {
"RIGHT-JUSTIFY", 0, 0, -1,
1555 {
"ROUNDING", 0, 1, -1,
1562 {
"SAME", 0, 0,
SAME,
1565 {
"SCREEN", 0, 0,
SCREEN,
1568 {
"SCROLL", 0, 1,
SCROLL,
1574 {
"SEARCH", 1, 0,
SEARCH,
1577 {
"SECONDS", 0, 1, -1,
1583 {
"SECURE", 0, 0,
SECURE,
1589 {
"SELECT", 0, 0,
SELECT,
1614 {
"SHORT", 0, 0, -1,
1618 {
"SIGN", 0, 0,
SIGN,
1621 {
"SIGNED", 0, 0,
SIGNED,
1635 {
"SIZE", 0, 0,
SIZE,
1638 {
"SORT", 0, 0,
SORT,
1644 {
"SOURCE", 0, 0,
SOURCE,
1650 {
"SOURCES", 0, 0, -1,
1653 {
"SPACE", 0, 0,
SPACE,
1656 {
"SPACE-FILL", 0, 0, -1,
1659 {
"SPACES", 0, 0,
SPACE,
1669 #ifdef COB_EBCDIC_MACHINE
1671 {
"STANDARD-BINARY", 0, 1, -1,
1674 {
"STANDARD-DECIMAL", 0, 1, -1,
1685 #ifndef COB_EBCDIC_MACHINE
1686 {
"STANDARD-BINARY", 0, 1, -1,
1689 {
"STANDARD-DECIMAL", 0, 1, -1,
1693 {
"START", 1, 0,
START,
1696 {
"STATEMENT", 0, 1, -1,
1699 {
"STATIC", 0, 1,
STATIC,
1702 {
"STATUS", 0, 0,
STATUS,
1708 {
"STEP", 0, 0,
STEP,
1711 {
"STOP", 0, 0,
STOP,
1714 {
"STRING", 1, 0,
STRING,
1717 {
"STRONG", 0, 1, -1,
1726 {
"SUPER", 0, 0, -1,
1732 {
"SYMBOL", 0, 1, -1,
1756 {
"TABLE", 0, 0, -1,
1762 {
"TAPE", 0, 1,
TAPE,
1768 {
"TEST", 0, 0,
TEST,
1771 {
"THAN", 0, 0,
THAN,
1774 {
"THEN", 0, 0,
THEN,
1777 {
"THROUGH", 0, 0,
THRU,
1780 {
"THRU", 0, 0,
THRU,
1783 {
"TIME", 0, 0,
TIME,
1792 {
"TIMES", 0, 0,
TIMES,
1810 {
"TRAILING-SIGN", 0, 0, -1,
1822 {
"TYPE", 0, 0,
TYPE,
1825 {
"TYPEDEF", 0, 0, -1,
1828 {
"UCS-4", 0, 1, -1,
1834 {
"UNIT", 0, 0,
UNIT,
1837 {
"UNIVERSAL", 0, 0, -1,
1840 {
"UNLOCK", 0, 0,
UNLOCK,
1858 {
"UNTIL", 0, 0,
UNTIL,
1864 {
"UPDATE", 0, 0,
UPDATE,
1867 {
"UPON", 0, 0,
UPON,
1870 {
"UPPER", 0, 1,
UPPER,
1873 {
"USAGE", 0, 0,
USAGE,
1879 {
"USER", 0, 1,
USER,
1885 {
"USING", 0, 0,
USING,
1888 {
"UTF-16", 0, 1, -1,
1891 {
"UTF-8", 0, 1, -1,
1894 {
"VAL-STATUS", 0, 0, -1,
1897 {
"VALID", 0, 0, -1,
1900 {
"VALIDATE", 0, 0, -1,
1903 {
"VALIDATE-STATUS", 0, 0, -1,
1906 {
"VALUE", 0, 0,
VALUE,
1909 {
"VALUES", 0, 0,
VALUE,
1915 {
"WAIT", 0, 0,
WAIT,
1918 {
"WHEN", 0, 0,
WHEN,
1921 {
"WITH", 0, 0,
WITH,
1924 {
"WORDS", 0, 0,
WORDS,
1930 {
"WRITE", 1, 0,
WRITE,
1939 {
"ZERO", 0, 0,
ZERO,
1942 {
"ZERO-FILL", 0, 0, -1,
1945 {
"ZEROES", 0, 0,
ZERO,
1948 {
"ZEROS", 0, 0,
ZERO,
1954 #define NUM_DEFAULT_RESERVED_WORDS \
1955 sizeof (default_reserved_words) / sizeof (struct cobc_reserved)
1966 {
"ABS",
"cob_intr_abs",
1971 {
"ACOS",
"cob_intr_acos",
1976 {
"ANNUITY",
"cob_intr_annuity",
1981 {
"ASIN",
"cob_intr_asin",
1986 {
"ATAN",
"cob_intr_atan",
1991 {
"BOOLEAN-OF-INTEGER",
"cob_intr_boolean_of_integer",
1996 {
"BYTE-LENGTH",
"cob_intr_byte_length",
2001 {
"CHAR",
"cob_intr_char",
2006 {
"CHAR-NATIONAL",
"cob_intr_char_national",
2011 {
"COMBINED-DATETIME",
"cob_intr_combined_datetime",
2016 {
"CONCATENATE",
"cob_intr_concatenate",
2021 {
"COS",
"cob_intr_cos",
2026 {
"CURRENCY-SYMBOL",
"cob_intr_currency_symbol",
2031 {
"CURRENT-DATE",
"cob_intr_current_date",
2036 {
"DATE-OF-INTEGER",
"cob_intr_date_of_integer",
2041 {
"DATE-TO-YYYYMMDD",
"cob_intr_date_to_yyyymmdd",
2046 {
"DAY-OF-INTEGER",
"cob_intr_day_of_integer",
2051 {
"DAY-TO-YYYYDDD",
"cob_intr_day_to_yyyyddd",
2056 {
"DISPLAY-OF",
"cob_intr_display_of",
2061 {
"E",
"cob_intr_e",
2066 {
"EXCEPTION-FILE",
"cob_intr_exception_file",
2071 {
"EXCEPTION-FILE-N",
"cob_intr_exception_file_n",
2076 {
"EXCEPTION-LOCATION",
"cob_intr_exception_location",
2081 {
"EXCEPTION-LOCATION-N",
"cob_intr_exception_location_n",
2086 {
"EXCEPTION-STATEMENT",
"cob_intr_exception_statement",
2091 {
"EXCEPTION-STATUS",
"cob_intr_exception_status",
2096 {
"EXP",
"cob_intr_exp",
2101 {
"EXP10",
"cob_intr_exp10",
2106 {
"FACTORIAL",
"cob_intr_factorial",
2111 {
"FORMATTED-CURRENT-DATE",
"cob_intr_formatted_current_date",
2116 {
"FORMATTED-DATE",
"cob_intr_formatted_date",
2121 {
"FORMATTED-DATETIME",
"cob_intr_formatted_datetime",
2127 {
"FORMATTED-TIME",
"cob_intr_formatted_time",
2133 {
"FRACTION-PART",
"cob_intr_fraction_part",
2138 {
"HIGHEST-ALGEBRAIC",
"cob_intr_highest_algebraic",
2143 {
"INTEGER",
"cob_intr_integer",
2148 {
"INTEGER-OF-BOOLEAN",
"cob_intr_integer_of_boolean",
2153 {
"INTEGER-OF-DATE",
"cob_intr_integer_of_date",
2158 {
"INTEGER-OF-DAY",
"cob_intr_integer_of_day",
2163 {
"INTEGER-OF-FORMATTED-DATE",
"cob_intr_integer_of_formatted_date",
2168 {
"INTEGER-PART",
"cob_intr_integer_part",
2173 {
"LENGTH",
"cob_intr_length",
2178 {
"LENGTH-AN",
"cob_intr_byte_length",
2183 {
"LOCALE-COMPARE",
"cob_intr_locale_compare",
2188 {
"LOCALE-DATE",
"cob_intr_locale_date",
2193 {
"LOCALE-TIME",
"cob_intr_locale_time",
2198 {
"LOCALE-TIME-FROM-SECONDS",
"cob_intr_lcl_time_from_secs",
2203 {
"LOG",
"cob_intr_log",
2208 {
"LOG10",
"cob_intr_log10",
2213 {
"LOWER-CASE",
"cob_intr_lower_case",
2218 {
"LOWEST-ALGEBRAIC",
"cob_intr_lowest_algebraic",
2223 {
"MAX",
"cob_intr_max",
2228 {
"MEAN",
"cob_intr_mean",
2233 {
"MEDIAN",
"cob_intr_median",
2238 {
"MIDRANGE",
"cob_intr_midrange",
2243 {
"MIN",
"cob_intr_min",
2248 {
"MOD",
"cob_intr_mod",
2253 {
"MODULE-CALLER-ID",
"cob_intr_module_caller_id",
2258 {
"MODULE-DATE",
"cob_intr_module_date",
2263 {
"MODULE-FORMATTED-DATE",
"cob_intr_module_formatted_date",
2268 {
"MODULE-ID",
"cob_intr_module_id",
2273 {
"MODULE-PATH",
"cob_intr_module_path",
2278 {
"MODULE-SOURCE",
"cob_intr_module_source",
2283 {
"MODULE-TIME",
"cob_intr_module_time",
2288 {
"MONETARY-DECIMAL-POINT",
"cob_intr_mon_decimal_point",
2293 {
"MONETARY-THOUSANDS-SEPARATOR",
"cob_intr_mon_thousands_sep",
2298 {
"NATIONAL-OF",
"cob_intr_national_of",
2303 {
"NUMERIC-DECIMAL-POINT",
"cob_intr_num_decimal_point",
2308 {
"NUMERIC-THOUSANDS-SEPARATOR",
"cob_intr_num_thousands_sep",
2313 {
"NUMVAL",
"cob_intr_numval",
2318 {
"NUMVAL-C",
"cob_intr_numval_c",
2323 {
"NUMVAL-F",
"cob_intr_numval_f",
2328 {
"ORD",
"cob_intr_ord",
2333 {
"ORD-MAX",
"cob_intr_ord_max",
2338 {
"ORD-MIN",
"cob_intr_ord_min",
2343 {
"PI",
"cob_intr_pi",
2348 {
"PRESENT-VALUE",
"cob_intr_present_value",
2353 {
"RANDOM",
"cob_intr_random",
2358 {
"RANGE",
"cob_intr_range",
2363 {
"REM",
"cob_intr_rem",
2368 {
"REVERSE",
"cob_intr_reverse",
2373 {
"SECONDS-FROM-FORMATTED-TIME",
"cob_intr_seconds_from_formatted_time",
2378 {
"SECONDS-PAST-MIDNIGHT",
"cob_intr_seconds_past_midnight",
2383 {
"SIGN",
"cob_intr_sign",
2388 {
"SIN",
"cob_intr_sin",
2393 {
"SQRT",
"cob_intr_sqrt",
2398 {
"STANDARD-COMPARE",
"cob_intr_standard_compare",
2403 {
"STANDARD-DEVIATION",
"cob_intr_standard_deviation",
2408 {
"STORED-CHAR-LENGTH",
"cob_intr_stored_char_length",
2413 {
"SUBSTITUTE",
"cob_intr_substitute",
2418 {
"SUBSTITUTE-CASE",
"cob_intr_substitute_case",
2423 {
"SUM",
"cob_intr_sum",
2428 {
"TAN",
"cob_intr_tan",
2433 {
"TEST-DATE-YYYYMMDD",
"cob_intr_test_date_yyyymmdd",
2438 {
"TEST-DAY-YYYYDDD",
"cob_intr_test_day_yyyyddd",
2443 {
"TEST-FORMATTED-DATETIME",
"cob_intr_test_formatted_datetime",
2448 {
"TEST-NUMVAL",
"cob_intr_test_numval",
2453 {
"TEST-NUMVAL-C",
"cob_intr_test_numval_c",
2458 {
"TEST-NUMVAL-F",
"cob_intr_test_numval_f",
2463 {
"TRIM",
"cob_intr_trim",
2468 {
"UPPER-CASE",
"cob_intr_upper_case",
2473 {
"VARIANCE",
"cob_intr_variance",
2478 {
"WHEN-COMPILED",
"cob_intr_when_compiled",
2483 {
"YEAR-TO-YYYY",
"cob_intr_year_to_yyyy",
2490 #define NUM_INTRINSICS sizeof(function_list) / sizeof(struct cb_intrinsic_table)
2492 #ifdef HAVE_DESIGNATED_INITS
2532 const unsigned char *p1;
2533 const unsigned char *p2;
2537 p1 = (
const unsigned char *)s1;
2538 p2 = (
const unsigned char *)s2;
2554 return c1 < c2 ? -1 : 1;
2583 s =
_(
"Device name");
2586 s =
_(
"Switch name");
2589 s =
_(
"Feature name");
2626 if (to_delete == cobc_user_res_list) {
2627 cobc_user_res_list = to_delete->
next;
2642 return word[size - 1] ==
'*';
2648 size_t chars_to_copy;
2652 chars_to_copy = size - 1;
2654 chars_to_copy = size;
2658 strncpy (*out_str, word, chars_to_copy);
2659 (*out_str)[chars_to_copy] =
'\0';
2672 const char *fname,
const int line)
2674 const size_t size = strlen (alias_for);
2688 char *equal_sign_pos;
2691 for (reserved = cobc_user_res_list; reserved; reserved = reserved->
next)
2699 equal_sign_pos = strchr (word,
'=');
2700 if (equal_sign_pos) {
2701 size = equal_sign_pos -
word;
2703 size = strlen (word);
2712 if (equal_sign_pos) {
2721 cobc_user_res_list = reserved;
2730 if (
likely (cobc_user_res_list || cb_specify_all_reserved)) {
2735 for (i = 0; i < num_default_words; ++i) {
2747 for (length = 0; l; ++length, l = l->
next);
2754 return bsearch (to_find, default_reserved_words,
2765 struct cobc_reserved *p;
2767 if (!user_reserved.alias_for) {
2769 = user_reserved.is_context_sensitive;
2778 _(
"Alias target '%s' is not a default reserved word"),
2779 user_reserved.alias_for);
2783 return cobc_reserved;
2811 reserved_words[i] = *p;
2848 if (!reserved_words) {
2849 if (cobc_user_res_list) {
2867 system_table[i].
token);
2870 if (cb_flag_syntax_extension) {
2874 ext_system_table[i].
token);
2889 for (reserved = cobc_user_res_list; reserved; reserved = reserved->
next) {
2928 cb_error (
_(
"'%s' reserved word, but not supported"), name);
2999 printf (
_(
"Reserved Words\t\t\tImplemented (Y/N)"));
3002 n = strlen (reserved_words[i].name);
3017 if (reserved_words[i].
token > 0) {
3018 if (reserved_words[i].context_sens) {
3019 p =
_(
"Y (Context sensitive)");
3024 if (reserved_words[i].context_sens) {
3025 p =
_(
"N (Context sensitive)");
3030 printf (
"%s%s%s\n", reserved_words[i].name, s, p);
3033 puts (
_(
"Extra (obsolete) context sensitive words"));
3035 puts (
"DATE-COMPILED");
3036 puts (
"DATE-MODIFIED");
3037 puts (
"DATE-WRITTEN");
3038 puts (
"INSTALLATION");
3042 puts (
_(
"Extra internal registers\tDefinition"));
3043 puts (
"RETURN-CODE\t\t\tUSAGE BINARY-LONG");
3044 puts (
"SORT-RETURN\t\t\tUSAGE BINARY-LONG");
3045 puts (
"NUMBER-OF-CALL-PARAMETERS\tUSAGE BINARY-LONG");
3046 puts (
"COB-CRT-STATUS\t\t\tPIC 9(4)");
3047 puts (
"TALLY\t\t\t\tGLOBAL PIC 9(5) USAGE BINARY VALUE ZERO");
3048 puts (
"'LENGTH OF' phrase\t\tUSAGE BINARY-LONG");
3061 puts (
_(
"Intrinsic Function\t\tImplemented\tParameters"));
3063 n = strlen (function_list[i].name);
3083 if (function_list[i].
args == -1) {
3084 printf (
"%s%s%s\t\t%s\n", function_list[i].name, s, t,
_(
"Unlimited"));
3086 if (function_list[i].
args != function_list[i].
min_args) {
3088 snprintf (argnum, 7,
"%d - %d", (
int)function_list[i].min_args,
3089 (
int)function_list[i].
args);
3092 snprintf (argnum, 3,
"%d", (
int)function_list[i].
args);
3094 printf (
"%s%s%s\t\t%s\n", function_list[i].name, s, t, argnum);
3104 const char *feature;
3108 puts (
_(
"Mnemonic names"));
3110 if (strlen (system_table[i].name) < 8) {
3116 printf (
"%s%s%s\n", system_table[i].name, tabs, feature);
3119 puts (
_(
"Extended mnemonic names (with -fsyntax-extension)"));
3121 if (strlen (ext_system_table[i].name) < 8) {
3127 printf (
"%s%s%s\n", ext_system_table[i].name, tabs, feature);
3131 #ifndef HAVE_DESIGNATED_INITS
3135 const unsigned char *p;
3136 const unsigned char *v;
3141 for (; *p; ++p, ++v) {
static COB_INLINE COB_A_INLINE void pop_reserved_word(const enum free_word_action action)
void cob_free(void *mptr)
static size_t get_length_of_user_res_list(void)
void * cobc_main_malloc(const size_t size)
unsigned int cobc_force_literal
static void add_reserved_word_without_init(const char *word, const char *fname, const int line)
static void initialize_alias_for(const char *alias_for, struct reserved_word_list *const reserved, const char *fname, const int line)
static size_t num_reserved_words
static void initialize_user_res_list_if_needed(void)
unsigned short context_sens
static struct cobc_reserved default_reserved_words[]
static void initialize_reserved_words_if_needed(void)
void add_reserved_word(const char *word, const char *fname, const int line)
#define CB_FEATURE_FORMFEED
void cb_list_intrinsics(void)
static void get_reserved_words_from_user_list(void)
static int intrinsic_comp(const void *p1, const void *p2)
struct cb_intrinsic_table * lookup_intrinsic(const char *name, const int checkres, const int checkimpl)
void cb_list_mnemonics(void)
void remove_reserved_word(const char *word)
static unsigned char cob_lower_tab[256]
void cobc_main_free(void *prevptr)
static const unsigned char pcob_lower_val[]
struct reserved_word_list * cobc_user_res_list
void configuration_warning(const char *, const int, const char *,...) COB_A_FORMAT34
static const char * res_get_feature(const enum cb_system_name_category category)
static struct cobc_reserved * reserved_words
static int reserve_comp(const void *p1, const void *p2)
void cobc_init_reserved(void)
unsigned int cobc_in_repository
static const struct cb_intrinsic_table function_list[]
cb_tree lookup_system_name(const char *name)
#define EXT_SYSTEM_TAB_SIZE
enum cb_system_name_category category
static void allocate_str_removing_asterisk(const char *word, const size_t size, char **const out_str)
EC ARGUMENT EC EC BOUND EC BOUND EC BOUND EC BOUND TABLE EC DATA EC DATA EC DATA PTR NULL
struct reserved_word_list * next
struct cobc_reserved * lookup_reserved_word(const char *name)
static const unsigned char pcob_lower_tab[]
static COB_INLINE COB_A_INLINE struct cobc_reserved * find_default_reserved_word(struct cobc_reserved *to_find)
enum cb_category category
void cb_list_reserved(void)
static void get_reserved_words_from_default_list(void)
#define CB_FEATURE_CONVENTION
#define CB_DEVICE_CONSOLE
void cb_error(const char *,...) COB_A_FORMAT12
static struct cobc_reserved create_dummy_reserved(const char *word)
void configuration_error(const char *, const int, const int, const char *,...) COB_A_FORMAT45
static int cob_strcasecmp(const void *s1, const void *s2)
if fold fold static computed alternate extra correct stack on syntax debugging line
unsigned int cobc_in_procedure
static void delete_reserved_word_from_list(struct reserved_word_list *const prev, const enum free_word_action action, struct reserved_word_list *to_delete)
void * cob_malloc(const size_t size)
static COB_INLINE COB_A_INLINE void initialize_word(const char *word, const size_t size, struct reserved_word_list *const reserved)
unsigned int cobc_cs_check
static const struct system_struct ext_system_table[]
static struct cobc_reserved get_user_specified_reserved_word(struct reserved_word_list user_reserved)
#define NUM_DEFAULT_RESERVED_WORDS
unsigned int context_test
cb_tree cb_build_system_name(const enum cb_system_name_category category, const int token)
static COB_INLINE COB_A_INLINE int has_context_sensitive_indicator(const char *word, const size_t size)