/
CDC-1.2b/
CDC-1.2b/src/
parent $user_parsers
object $command_aliases_parser

var $root child_index 0
var $root fertile 0
var $root manager $command_aliases_parser
var $root owners [$core]
var $root writable [$core]
var $root readable ['parameters, 'methods, 'code]
var $root trusted []
var $root owned [$command_aliases_parser]
var $root inited 1
var $root dbref 'command_aliases_parser

method parse
    arg user, str, next_parser, [other_parsers];
    var alias, match, i, result;
    
    for alias in (user.command_aliases()) {
        match = match_pattern(alias[1], str);
        if (match != 0) {
            str = alias[2];
            for i in [1 .. listlen(match)]
                str = strsub(str, "%" + tostr(i), match[i]);
            break;
        }
    }
    result = next_parser.parse(user, str, @other_parsers);
    if ((match != 0) && (result == 'failed))
        return ("Command converted to \"" + str) + "\" but not understood.";
    return result;
.