void init_charclas()

- initializes this module

This function initializes this module.

Bool is_SPACE(ch)

- check whether ch is space int ch;

Bool is_RE(ch)

- check whether ch is record-end (carriage return) int ch;

Bool is_RS(ch)

- check whether ch is record-start (newline) int ch;

Bool is_SEPCHAR(ch)

- check whether ch is a tab character int ch;

Bool is_DATACHAR(ch)

- check whether ch is a datacharacter int ch;

Bool is_DELMCHAR(ch)

- check whether ch is a delimiter character int ch;

Bool is_SPECIAL(ch)

- check whether ch is a special character int ch;

Bool is_DIGIT(ch)

- check whether ch is a digit int ch;

Bool is_LCNMCHAR(ch)

- check whether ch is a lowercase name character int ch;

Bool is_UCNMCHAR(ch)

- check whether ch is a lowercase name character int ch;

Bool is_LCNMSTRT(ch)

- check whether ch is a namestart character int ch;

Bool is_UCNMSTRT(ch)

- check whether ch is a namestart character int ch;

Bool is_LC_LETTER(ch)

- check whether ch is a lowercase letter int ch;

Bool is_UC_LETTER(ch)

- check whether ch is a uppercase letter int ch;

Bool is_MSOCHAR(ch)

- check whether ch is markup scan out character int ch;

Bool is_MSICHAR(ch)

- check whether ch is markup scan in character int ch;

Bool is_MSSCHAR(ch)

- check whether ch is markup scan suppress character int ch;

Bool is_FUNCHAR(ch)

- check whether ch is a function-character int ch;

Bool is_s(ch)

- check whether ch is a separator character int ch;

Bool is_data_character(ch)

- check whether ch is a datacharacter int ch;

Bool is_markup_character(ch)

- check whether ch is markup character int ch;

Bool is_SGML_character(ch)

- check whether ch is a markup or datacharacter int ch;

Bool is_name_character(ch)

- check whether ch is a name character int ch;

Bool is_name_start_character(ch)

- check whether ch is a name start character int ch;

Bool is_function_character(ch)

- check whether ch is a function character int ch;

Bool is_NONSGML(ch)

- check whether ch is a NONSGML character

These functions determine the class to which a character belongs. These classes are described in the Standard. Figure 1 on page 29 defines the basic classes: Digit, Lc/Uc Letter, Special. Figure 2 on page 30 defines DATACHAR, DELMCHAR, FUNCHAR, LCNMCHAR, LCNMSTRT, MSICHAR, MSOCHAR, MSSCHAR, RE, RS, SEPCHAR, SPACE, UCNMSTRT, LCNMSTRT. NONSGML is defined in the SGML declaration. The other classes are defined in several rules in the Standard:

s				rule 5, page 22
data character		rule 48, page 28
SGML character		rule 50, page 28
markup character		rule 51, page 28
name character		rule 52, page 28
name start character	rule 53, page 28
function character	rule 54, page 28
These functions are used by the lexical analyser to determine the kind of token that it has read. These functions are used also for checks on attribute values.

void unused_char(ch)

- set character ch to unused int ch;

void unused_standard()

- set the default unused characters

void generate_unused(file)

- generate a table with the unused characters on file FILE *file;

These functions are used to define which characters are declared UNUSED in the SGML-declaration. The unused characters constitute the class of NONSGML characters.

charclas.c charclas.h