8 defined($a->{$_}) || die("\"$a->{id}.$_\" is not defined.\n");
15 if (! defined($data->{$a})) {
16 $data->{$a} = bless { id => $a };
25 if (/^\@(\w+)\.(\w+)\@$/) {
27 defined($data->{$a}) || die("\"$a.$b\" is not defined.\n");
28 $data->{$a}->CHECK($b);
29 return $data->{$a}{$b};
31 if (/^\@(\w+)\((\w+)\)\@$/) {
33 defined(&{$a}) || die("\"$a()\" is not defined.\n");
34 defined($data->{$b}) || die("\"$a($b)\" is not defined.\n");
35 return $data->{$b}->$a();
42 @ARGV || unshift(@ARGV, "-");
50 my($in_def, $in_code, $code, $a, $b);
54 open(F, $file) || die("$file: $!\n");
64 s/^(\w+)\.(\w+)// || next;
68 &w3mdoc::DEF($a, $b, $_);
73 eval "package w3mdoc; $code";
89 if (s/^\@include\s+//) {
95 die("unknown command: $_");
97 s/(\\@|\@(\w+(\.\w+|\(\w+\)))\@)/&w3mdoc::SUB($1)/eg;