core.js
function exc(pattern, except) {
        var name = pattern + ' ~ ' + except;
        return new Pattern(name, function (str, pos) {
            return !except.exec(str, pos) && pattern.exec(str, pos);
        });
    }
function exc(pattern, except) {
        var name = pattern + ' ~ ' + except;
        return new Pattern(name, function (str, pos) {
            return !except.exec(str, pos) && pattern.exec(str, pos);
        });
    }
function exc ( pattern , except ) { var name = pattern + ' ~ ' + except ; return new Pattern ( name , function ( str , pos ) { return ! except . exec ( str , pos ) && pattern . exec ( str , pos ) ; } ) ; }
parses a pattern if it doesn't match another pattern
parses a pattern if it doesn t match another pattern