/* ascii.c. Produce a skeleton table for ISO 646. F. da Cruz, Columbia University, 1991. */ char *name[] = { "SPACE", "EXCLAMATION MARK", "QUOTATION MARK", "NATIONAL CHARACTER", /* # */ "DOLLAR SIGN", "PERCENT SIGN", "AMPERSAND", "APOSTROPHE", "LEFT PARENTHESIS", "RIGHT PARENTHESIS", "ASTERISK", "PLUS SIGN", "COMMA", "HYPHEN, MINUS SIGN", "PERIOD, FULL STOP", "SOLIDUS, SLASH", "DIGIT ZERO", "DIGIT ONE", "DIGIT TWO", "DIGIT THREE", "DIGIT FOUR", "DIGIT FIVE", "DIGIT SIX", "DIGIT SEVEN", "DIGIT EIGHT", "DIGIT NINE", "COLON", "SEMICOLON", "LESS-THAN SIGN, LEFT ANGLE BRACKET", "EQUALS SIGN", "GREATER-THAN SIGN, RIGHT ANGLE BRACKET", "QUESTION MARK", "NATIONAL CHARACTER", /* @ */ "CAPITAL LETTER A", "CAPITAL LETTER B", "CAPITAL LETTER C", "CAPITAL LETTER D", "CAPITAL LETTER E", "CAPITAL LETTER F", "CAPITAL LETTER G", "CAPITAL LETTER H", "CAPITAL LETTER I", "CAPITAL LETTER J", "CAPITAL LETTER K", "CAPITAL LETTER L", "CAPITAL LETTER M", "CAPITAL LETTER N", "CAPITAL LETTER O", "CAPITAL LETTER P", "CAPITAL LETTER Q", "CAPITAL LETTER R", "CAPITAL LETTER S", "CAPITAL LETTER T", "CAPITAL LETTER U", "CAPITAL LETTER V", "CAPITAL LETTER W", "CAPITAL LETTER X", "CAPITAL LETTER Y", "CAPITAL LETTER Z", "NATIONAL CHARACTER", /* [ */ "NATIONAL CHARACTER", /* \ */ "NATIONAL CHARACTER", /* ] */ "NATIONAL CHARACTER", /* ^ */ "NATIONAL CHARACTER", /* _ */ "NATIONAL CHARACTER", /* ` */ "SMALL LETTER a", "SMALL LETTER b", "SMALL LETTER c", "SMALL LETTER d", "SMALL LETTER e", "SMALL LETTER f", "SMALL LETTER g", "SMALL LETTER h", "SMALL LETTER i", "SMALL LETTER j", "SMALL LETTER k", "SMALL LETTER l", "SMALL LETTER m", "SMALL LETTER n", "SMALL LETTER o", "SMALL LETTER p", "SMALL LETTER q", "SMALL LETTER r", "SMALL LETTER s", "SMALL LETTER t", "SMALL LETTER u", "SMALL LETTER v", "SMALL LETTER w", "SMALL LETTER x", "SMALL LETTER y", "SMALL LETTER z", "NATIONAL CHARACTER", /* { */ "NATIONAL CHARACTER", /* | */ "NATIONAL CHARACTER", /* } */ "NATIONAL CHARACTER", /* ~ */ "RUBOUT, DELETE" }; main() { int i, j; char c; printf("ISO 646 Skeleton\n"); printf("char dec col/row oct hex description\n"); for (i = 32; i < 128; i++) { j = i - 32; c = (i == 127) ? 32 : i; printf("(%c) %3d %02d/%02d %3o %2X %s\n", c, i, i/16, i%16, i, i, name[j]); } }