The SGML declaration is predefined in basic SGML. The grammar LLgen rules are on ``sgml.g''. Only predefined capacity names may be given in the capacity set. capacity_ok() checks whether a name is a valid capacity name (see Standard fig. 5, page 49), and if so, if the value is the same as the predefined value.
Also the shunned characters are determined so when the user specifies them herself they must be the same as in fig.7, page 54. shun_char_ok() checks if a shunned character is allowed and shun_char_been() if not one of them is forgotten.
gen_delim_ok() checks if str is a general delimiter (Standard fig. 3, page 31) and if so if the value val is the same as the reference delimiter set. Not all the delimiters have to be given because all the not given delimiters are included.
short_delim_ok() checks the same as gen_delim_ok() but now for the shortreference delimiters (Standard fig. 4, page 33). If the user specifies the delimiters herself she must specify all, to forget one is an error.
All the quantities are checked by quantity_ok(), the user may not define her own quantities. The values must be the same as in the reference set (Standard fig. 6, page 52).