Le entità esterne sono un riferimento ad enum, group, struct, typedef definite in un altro documento sia del medesimo sistema che --- tramite url --- di altri sistemi.
La grammatica prevista è la seguente.
declaration: external_decl_stm
external_decl_stm: external_decl tight_comment(?)
external_decl: 'external' external_type 'doc' DCL STRINGKON ';'
external_decl: 'external' external_type 'url' STRINGKON ';'
external_type:
enum_type
| typedef_type
| group_type
| struct_type
enum_type: 'enum' IDENTIFIER
struct_type: struct_tag IDENTIFIER
group_type: 'group' IDENTIFIER
typedef_type: 'typedef' IDENTIFIER
DCL: /amm/i
| /cla/i
| /daf/i
| /dat/i
| /dsg/i
| /dst/i
| /dsu/i
| /ele/i
| /fun/i
| /job/i
| /kon/i
| /man/i
| /qcl/i
| /req/i
| /ris/i
| /rpt/i
| /src/i
| /sys/i
| /uui/i
tight_comment: line_comment(s?)
line_comment: / \/ \/ .*? $/xm
|
Un esempio di codice.
external struct pippo doc
dat "pippo"; // Len(30) Size(15) Depth(1) Struttura disney base
external struct pippo2 url
"/dar/ardoc/out/html/auto/dat.pippo.html"; // Len(30) Size(15) Struttura disney avvanzata
|