예제 #1
0
    def __init__(self):
        import FoxDot

        self.lang  = FoxDot

        try:

            self.keywords = list(FoxDot.get_keywords()) + list(FoxDot.SynthDefs) + ["play"]

        except AttributeError:

            self.keywords = ['>>']

        self.re["tag_bold"] = compile_regex(self.keywords)
예제 #2
0
    def __init__(self):

        # 1. Try importing directly

        try:
            # Try importing from install

            try:

                import FoxDot

            except ImportError:

                # Import locally if not found

                from . import FoxDot

            self.lang = FoxDot

            self.imported = True

            try:

                self.keywords = list(FoxDot.get_keywords()) + list(
                    FoxDot.SynthDefs) + ["play"]

            except AttributeError:

                self.keywords = ['>>']

        except (ImportError, FileNotFoundError):

            Interpreter.__init__(self, self.path)

            self.imported = False

            self.keywords = [
                'classmethod', 'Clock', 'rFloorDiv', 'any', 'type', 'dict',
                'max_length', 'sorted', 'staticmethod', 'or',
                'loop_pattern_method', 'format', 'super', 'globals', 'rXor',
                'inf', 'PTree', 'isinstance', 'callable', 'Scale', 'PRange',
                'Div', 'PRand', 'pattern_depth', 'unicode', 'chr',
                '__import__', 'next', 'Or', 'EuclidsAlgorithm', 'FloorDiv',
                'memoryview', 'setattr', 'sum', 'import', 'sliceToRange',
                'PatternFormat', 'modi', 'Pow', 'PulsesToDurations', 'True',
                'issubclass', 'PWalk', 'cmp', 'PDelay', 'list', 'dir', 'len',
                'enumerate', 'Format', 'PTri', 'reduce', 'reload', 'PEuclid',
                'PIndex', 'PFibMod', 'divmod', 'PSquare', 'unichr', 'round',
                'map', 'long', 'Group', 'linvar', 'mapvar', 'PPairs', 'with',
                'Mod', 'None', 'locals', 'basestring', 'P10', 'PRhythm',
                'tuple', 'from', 'not', 'class', 'try', 'hasattr', 'compile',
                'PSum', 'Pvar', 'filter', 'loop_pattern_func', 'PJoin', 'bool',
                'Root', 'eval', 'for', 'Server', 'Add', 'PSq', 'str',
                'PStutter', 'get_inverse_op', 'var', 'repr', 'PChain',
                'reversed', 'hex', 'Nil', 'rSub', 'equal_values', 'if', 'all',
                'rAdd', 'return', 'PZip', 'global', 'else', 'Samples', 'print',
                'PWhite', 'file', 'ord', 'rOr', 'range', 'complex', 'PwRand',
                'PEuclid2', 'group_modi', 'Get', 'PStretch', 'asStream',
                'lambda', 'PSine', 'PDur', 'self', 'False', 'rGet', 'except',
                'PQuicken', 'zip', 'hash', 'PAlt', 'PatternContainer', 'help',
                'pow', 'PEq', 'in', 'PStep', 'iter', 'is', 'GeneratorPattern',
                'ClassPatternMethod', 'min', 'DominantPattern', 'Mul', 'when',
                'metaPattern', 'rMod', 'input', 'object', 'def', 'POperand',
                'elif', 'while', 'PNe', 'PShuf', 'xrange', 'getattr',
                'get_expanded_len', 'rPow', 'bytearray', 'asPattern', 'expvar',
                'Pattern', 'EmptyItem', 'vars', 'PZip2', 'delattr',
                'frozenset', 'property', 'execfile', 'deepcopy', 'stdout',
                'Xor', 'int', 'Sub', 'PxRand', 'PatternMethod', 'as', 'float',
                'set', '\\A\\s*@.+', 'max', 'dots', 'patternclass', 'LCM',
                'open', 'raw_input', 'PBeat', 'PGroup', 'StaticPatternMethod',
                'Convert', 'P', 'and', 'abs', 'bin', 'slice', 'id', 'rDiv',
                '>>'
            ]

        self.keyword_regex = compile_regex(self.keywords)

        self.re = {
            "tag_bold": self.find_keyword,
            "tag_italic": self.find_comment
        }