Method code for $compiler._make_tag()

[Turn on line numbering]
arg token, mode, vars, name, flags, args;
var method, class;

if (mode == 'fmtname) {
    if (token != "}")
        throw(~parse, "Extra ']' encountered.");
    method = tosym("do_" + name.strip());
    class = $format;
}
if (mode == 'genname) {
    if (token != "]")
        throw(~parse, "Extra '}' encountered.");
    method = tosym("gen_" + name.strip());
    class = $generator;
}
catch ~methodnf
    return (> .(method)(vars, flags, args) <);
with
    return (> [class.new_tag(name, flags, args), vars] <);

// Created 17-Jul-1996 as a part of ColdCore, see: @help Credit

Tlon