lib/grammar.js
function checkEnumMember(enumname, enumarr, obj, callback) {
    if (!isEnumString(obj.name)) {
        callback(false, enumname + '.' + obj.name + ': All letters should be capitalized.');

        return false;
    }

    if (obj.type != 'int') {
        callback(false, enumname + '.' + obj.name + ': This member is not int.');

        return false;
    }

    if (obj.name.indexOf(enumname + '_') != 0) {
        callback(false, enumname + '.' + obj.name + ': This member is begin ' + enumname + '_.');

        return false;
    }

    if (enumarr.indexOf(obj.val) >= 0) {
        callback(false, enumname + '.' + obj.name + ': This member\'s val is used.');

        return false;
    }

    return true;
}
function checkEnumMember(enumname, enumarr, obj, callback) {
    if (!isEnumString(obj.name)) {
        callback(false, enumname + '.' + obj.name + ': All letters should be capitalized.');

        return false;
    }

    if (obj.type != 'int') {
        callback(false, enumname + '.' + obj.name + ': This member is not int.');

        return false;
    }

    if (obj.name.indexOf(enumname + '_') != 0) {
        callback(false, enumname + '.' + obj.name + ': This member is begin ' + enumname + '_.');

        return false;
    }

    if (enumarr.indexOf(obj.val) >= 0) {
        callback(false, enumname + '.' + obj.name + ': This member\'s val is used.');

        return false;
    }

    return true;
}
callback(isok, err)