# [dtd_int.h] Language Interface

## contents

#include "ptm.h"
#include "gls.h"

## symbol objects - init & quit

    void dtd_initSymbols()
    void dtd_quitSymbols()

## Types & Constants

dtd | abstract type

dtdRoot | abstract type
dtdEmbed | abstract type
dtdExtern | abstract type
dtdXDecl | abstract type
dtdExtID | abstract type
dtdXLiteral | abstract type
dtdDecl | abstract type
dtdCond | abstract type
dtdAttribute | abstract type
dtdAType | abstract type
dtdADefault | abstract type
dtdFixed | abstract type
dtdEntity | abstract type
dtdEntityVal | abstract type
dtdNData | abstract type
dtdContent | abstract type
dtdROpr | abstract type
dtdXName | abstract type

## Access to Tokens

    c_bool Tdtd_PERef(GLS_Tok x)
    c_bool Tdtd_Nmtoken(GLS_Tok x)
    c_bool Tdtd_XMLDecl(GLS_Tok x)
    c_bool Tdtd_PI(GLS_Tok x)
    c_bool Tdtd_Keyset(GLS_Tok x)
    c_bool Tdtd_Name(GLS_Tok x)
    c_bool Tdtd_Literal(GLS_Tok x)
    c_bool Tdtd_DTDStart(GLS_Tok x)
    c_bool Tdtd_IgnSect(GLS_Tok x)

## Access to Terms

    c_bool dtd_dtd(PT_Term x, dtd* x1)
    c_bool dtd_Root(PT_Term x, dtdRoot* x1)
    c_bool dtd_Embed(PT_Term x, dtdEmbed* x1)
    c_bool dtd_Extern(PT_Term x, dtdExtern* x1)
    c_bool dtd_XDecl(PT_Term x, dtdXDecl* x1)
    c_bool dtd_ExtID(PT_Term x, dtdExtID* x1)
    c_bool dtd_XLiteral(PT_Term x, dtdXLiteral* x1)
    c_bool dtd_Decl(PT_Term x, dtdDecl* x1)
    c_bool dtd_Cond(PT_Term x, dtdCond* x1)
    c_bool dtd_Attribute(PT_Term x, dtdAttribute* x1)
    c_bool dtd_AType(PT_Term x, dtdAType* x1)
    c_bool dtd_ADefault(PT_Term x, dtdADefault* x1)
    c_bool dtd_Fixed(PT_Term x, dtdFixed* x1)
    c_bool dtd_Entity(PT_Term x, dtdEntity* x1)
    c_bool dtd_EntityVal(PT_Term x, dtdEntityVal* x1)
    c_bool dtd_NData(PT_Term x, dtdNData* x1)
    c_bool dtd_Content(PT_Term x, dtdContent* x1)
    c_bool dtd_ROpr(PT_Term x, dtdROpr* x1)
    c_bool dtd_XName(PT_Term x, dtdXName* x1)

## dtd

    c_bool dtd_Start_Root(dtd x, dtdRoot* x1)
    #define dtd_Start_0   dtd_Start_Root
    c_bool dtd_Start_Embed(dtd x, dtdEmbed* x1)
    #define dtd_Start_1   dtd_Start_Embed

## Root

    c_bool dtdRoot_text(dtdRoot x, dtdExtern* x1)
    c_bool dtdRoot_tdoc(dtdRoot x, GLS_Tok* x1, dtdEmbed* x2)

## Embed

    c_bool dtdEmbed_dfn(dtdEmbed x, dtdXName* x1, dtdExtID* x2,
                        GLS_Lst(dtdDecl)* x3)

## Extern

    c_bool dtdExtern_dfn(dtdExtern x, dtdXDecl* x1, GLS_Lst(dtdDecl)* x2)

## XDecl

    c_bool dtdXDecl_nul(dtdXDecl x)
    c_bool dtdXDecl_dfn(dtdXDecl x, GLS_Tok* x1)

## ExtID

    c_bool dtdExtID_pref(dtdExtID x, GLS_Tok* x1)
    c_bool dtdExtID_nul(dtdExtID x)
    c_bool dtdExtID_pub(dtdExtID x, dtdXLiteral* x1, dtdXLiteral* x2)
    c_bool dtdExtID_sys(dtdExtID x, dtdXLiteral* x1)

## XLiteral

    c_bool dtdXLiteral_pref(dtdXLiteral x, GLS_Tok* x1)
    c_bool dtdXLiteral_lit(dtdXLiteral x, GLS_Tok* x1)
    c_bool dtdXLiteral_nul(dtdXLiteral x)

## Decl

    c_bool dtdDecl_pref(dtdDecl x, GLS_Tok* x1)
    c_bool dtdDecl_attr(dtdDecl x, dtdXName* x1, GLS_Lst(dtdAttribute)* x2)
    c_bool dtdDecl_ent(dtdDecl x, dtdEntity* x1)
    c_bool dtdDecl_pi(dtdDecl x, GLS_Tok* x1)
    c_bool dtdDecl_note(dtdDecl x, dtdXName* x1, dtdExtID* x2)
    c_bool dtdDecl_elm(dtdDecl x, dtdXName* x1, dtdContent* x2)
    c_bool dtdDecl_cond(dtdDecl x, dtdCond* x1)

## Cond

    c_bool dtdCond_cinc(dtdCond x, dtdExtern* x1)
    c_bool dtdCond_cign(dtdCond x, GLS_Tok* x1)
    c_bool dtdCond_ccnd(dtdCond x, GLS_Tok* x1, dtdExtern* x2)

## Attribute

    c_bool dtdAttribute_nam(dtdAttribute x, dtdXName* x1)
    c_bool dtdAttribute_dft(dtdAttribute x, dtdADefault* x1)
    c_bool dtdAttribute_typ(dtdAttribute x, dtdAType* x1)

## AType

    c_bool dtdAType_refs(dtdAType x)
    c_bool dtdAType_nmts(dtdAType x)
    c_bool dtdAType_str(dtdAType x)
    c_bool dtdAType_ents(dtdAType x)
    c_bool dtdAType_etyp(dtdAType x, GLS_Lst(dtdXName)* x1)
    c_bool dtdAType_ref(dtdAType x)
    c_bool dtdAType_nmt(dtdAType x)
    c_bool dtdAType_ntyp(dtdAType x)
    c_bool dtdAType_id(dtdAType x)
    c_bool dtdAType_ent(dtdAType x)

## ADefault

    c_bool dtdADefault_fix(dtdADefault x, dtdFixed* x1, GLS_Tok* x2)
    c_bool dtdADefault_imp(dtdADefault x)
    c_bool dtdADefault_req(dtdADefault x)

## Fixed

    c_bool dtdFixed_nul(dtdFixed x)
    c_bool dtdFixed_fix(dtdFixed x)

## Entity

    c_bool dtdEntity_pent(dtdEntity x, dtdXName* x1, dtdEntityVal* x2)
    c_bool dtdEntity_gent(dtdEntity x, dtdXName* x1, dtdEntityVal* x2)

## EntityVal

    c_bool dtdEntityVal_ient(dtdEntityVal x, dtdXLiteral* x1)
    c_bool dtdEntityVal_eent(dtdEntityVal x, dtdExtID* x1, dtdNData* x2)

## NData

    c_bool dtdNData_nul(dtdNData x)
    c_bool dtdNData_dfn(dtdNData x, dtdXName* x1, dtdXName* x2)

## Content

    c_bool dtdContent_alt(dtdContent x, dtdContent* x1, dtdContent* x2)
    c_bool dtdContent_none(dtdContent x)
    c_bool dtdContent_mix(dtdContent x, GLS_Lst(dtdXName)* x1)
    c_bool dtdContent_any(dtdContent x)
    c_bool dtdContent_seq(dtdContent x, dtdContent* x1, dtdContent* x2)
    c_bool dtdContent_nam(dtdContent x, dtdXName* x1, dtdROpr* x2)
    c_bool dtdContent_rexp(dtdContent x, dtdContent* x1, dtdROpr* x2)
    c_bool dtdContent_pref(dtdContent x, GLS_Tok* x1)

## ROpr

    c_bool dtdROpr_nul(dtdROpr x)
    c_bool dtdROpr_plus(dtdROpr x)
    c_bool dtdROpr_star(dtdROpr x)
    c_bool dtdROpr_qry(dtdROpr x)

## XName

    c_bool dtdXName_elm(dtdXName x)
    c_bool dtdXName_req(dtdXName x)
    c_bool dtdXName_key(dtdXName x, GLS_Tok* x1)
    c_bool dtdXName_alst(dtdXName x)
    c_bool dtdXName_pref(dtdXName x, GLS_Tok* x1)
    c_bool dtdXName_fix(dtdXName x)
    c_bool dtdXName_inc(dtdXName x)
    c_bool dtdXName_ndat(dtdXName x)
    c_bool dtdXName_pub(dtdXName x)
    c_bool dtdXName_nmtk(dtdXName x, GLS_Tok* x1)
    c_bool dtdXName_none(dtdXName x)
    c_bool dtdXName_pdat(dtdXName x)
    c_bool dtdXName_ide(dtdXName x, GLS_Tok* x1)
    c_bool dtdXName_any(dtdXName x)
    c_bool dtdXName_impl(dtdXName x)
    c_bool dtdXName_ktyp(dtdXName x, dtdAType* x1)
    c_bool dtdXName_sys(dtdXName x)