Projekt

Obecné

Profil

Stáhnout (73.6 KB) Statistiky
| Větev: | Tag: | Revize:
1
ace.define("ace/mode/csound_preprocessor_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2
"use strict";
3

    
4
var oop = require("../lib/oop");
5

    
6
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
7

    
8
var CsoundPreprocessorHighlightRules = function(embeddedRulePrefix) {
9

    
10
    this.embeddedRulePrefix = embeddedRulePrefix === undefined ? "" : embeddedRulePrefix;
11

    
12
    this.semicolonComments = {
13
        token : "comment.line.semicolon.csound",
14
        regex : ";.*$"
15
    };
16

    
17
    this.comments = [
18
        {
19
            token : "punctuation.definition.comment.begin.csound",
20
            regex : "/\\*",
21
            push  : [
22
                {
23
                    token : "punctuation.definition.comment.end.csound",
24
                    regex : "\\*/",
25
                    next  : "pop"
26
                }, {
27
                    defaultToken: "comment.block.csound"
28
                }
29
            ]
30
        }, {
31
            token : "comment.line.double-slash.csound",
32
            regex : "//.*$"
33
        },
34
        this.semicolonComments
35
    ];
36

    
37
    this.macroUses = [
38
        {
39
            token : ["entity.name.function.preprocessor.csound", "punctuation.definition.macro-parameter-value-list.begin.csound"],
40
            regex : /(\$[A-Z_a-z]\w*\.?)(\()/,
41
            next  : "macro parameter value list"
42
        }, {
43
            token : "entity.name.function.preprocessor.csound",
44
            regex : /\$[A-Z_a-z]\w*(?:\.|\b)/
45
        }
46
    ];
47

    
48
    this.numbers = [
49
        {
50
            token : "constant.numeric.float.csound",
51
            regex : /(?:\d+[Ee][+-]?\d+)|(?:\d+\.\d*|\d*\.\d+)(?:[Ee][+-]?\d+)?/
52
        }, {
53
            token : ["storage.type.number.csound", "constant.numeric.integer.hexadecimal.csound"],
54
            regex : /(0[Xx])([0-9A-Fa-f]+)/
55
        }, {
56
            token : "constant.numeric.integer.decimal.csound",
57
            regex : /\d+/
58
        }
59
    ];
60

    
61
    this.bracedStringContents = [
62
        {
63
            token : "constant.character.escape.csound",
64
            regex : /\\(?:[\\abnrt"]|[0-7]{1,3})/
65
        },
66
        {
67
            token : "constant.character.placeholder.csound",
68
            regex : /%[#0\- +]*\d*(?:\.\d+)?[diuoxXfFeEgGaAcs]/
69
        }, {
70
            token : "constant.character.escape.csound",
71
            regex : /%%/
72
        }
73
    ];
74

    
75
    this.quotedStringContents = [
76
        this.macroUses,
77
        this.bracedStringContents
78
    ];
79

    
80
    var start = [
81
        this.comments,
82

    
83
        {
84
            token : "keyword.preprocessor.csound",
85
            regex : /#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+/
86
        }, {
87
            token : "keyword.preprocessor.csound",
88
            regex : /#include/,
89
            push  : [
90
                this.comments,
91
                {
92
                    token : "string.csound",
93
                    regex : /([^ \t])(?:.*?\1)/,
94
                    next  : "pop"
95
                }
96
            ]
97
        }, {
98
            token : "keyword.preprocessor.csound",
99
            regex : /#includestr/,
100
            push  : [
101
                this.comments,
102
                {
103
                    token : "string.csound",
104
                    regex : /([^ \t])(?:.*?\1)/,
105
                    next  : "pop"
106
                }
107
            ]
108
        }, {
109
            token : "keyword.preprocessor.csound",
110
            regex : /#[ \t]*define/,
111
            next  : "define directive"
112
        }, {
113
            token : "keyword.preprocessor.csound",
114
            regex : /#(?:ifn?def|undef)\b/,
115
            next  : "macro directive"
116
        },
117

    
118
        this.macroUses
119
    ];
120

    
121
    this.$rules = {
122
        "start": start,
123

    
124
        "define directive": [
125
            this.comments,
126
            {
127
                token : "entity.name.function.preprocessor.csound",
128
                regex : /[A-Z_a-z]\w*/
129
            }, {
130
                token : "punctuation.definition.macro-parameter-name-list.begin.csound",
131
                regex : /\(/,
132
                next  : "macro parameter name list"
133
            }, {
134
                token : "punctuation.definition.macro.begin.csound",
135
                regex : /#/,
136
                next  : "macro body"
137
            }
138
        ],
139
        "macro parameter name list": [
140
            {
141
                token : "variable.parameter.preprocessor.csound",
142
                regex : /[A-Z_a-z]\w*/
143
            }, {
144
                token : "punctuation.definition.macro-parameter-name-list.end.csound",
145
                regex : /\)/,
146
                next  : "define directive"
147
            }
148
        ],
149
        "macro body": [
150
            {
151
                token : "constant.character.escape.csound",
152
                regex : /\\#/
153
            }, {
154
                token : "punctuation.definition.macro.end.csound",
155
                regex : /#/,
156
                next  : "start"
157
            },
158
            start
159
        ],
160

    
161
        "macro directive": [
162
            this.comments,
163
            {
164
                token : "entity.name.function.preprocessor.csound",
165
                regex : /[A-Z_a-z]\w*/,
166
                next  : "start"
167
            }
168
        ],
169

    
170
        "macro parameter value list": [
171
            {
172
                token : "punctuation.definition.macro-parameter-value-list.end.csound",
173
                regex : /\)/,
174
                next  : "start"
175
            }, {
176
                token : "punctuation.definition.string.begin.csound",
177
                regex : /"/,
178
                next  : "macro parameter value quoted string"
179
            }, this.pushRule({
180
                token : "punctuation.macro-parameter-value-parenthetical.begin.csound",
181
                regex : /\(/,
182
                next  : "macro parameter value parenthetical"
183
            }), {
184
                token : "punctuation.macro-parameter-value-separator.csound",
185
                regex : "[#']"
186
            }
187
        ],
188
        "macro parameter value quoted string": [
189
            {
190
                token : "constant.character.escape.csound",
191
                regex : /\\[#'()]/
192
            }, {
193
                token : "invalid.illegal.csound",
194
                regex : /[#'()]/
195
            }, {
196
                token : "punctuation.definition.string.end.csound",
197
                regex : /"/,
198
                next  : "macro parameter value list"
199
            },
200
            this.quotedStringContents,
201
            {
202
                defaultToken: "string.quoted.csound"
203
            }
204
        ],
205
        "macro parameter value parenthetical": [
206
            {
207
                token : "constant.character.escape.csound",
208
                regex : /\\\)/
209
            }, this.popRule({
210
                token : "punctuation.macro-parameter-value-parenthetical.end.csound",
211
                regex : /\)/
212
            }), this.pushRule({
213
                token : "punctuation.macro-parameter-value-parenthetical.begin.csound",
214
                regex : /\(/,
215
                next  : "macro parameter value parenthetical"
216
            }),
217
            start
218
        ]
219
    };
220
};
221

    
222
oop.inherits(CsoundPreprocessorHighlightRules, TextHighlightRules);
223

    
224
(function() {
225

    
226
    this.pushRule = function(params) {
227
        if (Array.isArray(params.next)) {
228
            for (var i = 0; i < params.next.length; i++) {
229
                params.next[i] = this.embeddedRulePrefix + params.next[i];
230
            }
231
        }
232

    
233
        return {
234
            regex : params.regex, onMatch: function(value, currentState, stack, line) {
235
                if (stack.length === 0)
236
                    stack.push(currentState);
237
                if (Array.isArray(params.next)) {
238
                    for (var i = 0; i < params.next.length; i++) {
239
                        stack.push(params.next[i]);
240
                    }
241
                } else {
242
                    stack.push(params.next);
243
                }
244
                this.next = stack[stack.length - 1];
245
                return params.token;
246
            },
247

    
248
            get next() { return Array.isArray(params.next) ? params.next[params.next.length - 1] : params.next; },
249
            set next(next) {
250
                if (!Array.isArray(params.next)) {
251
                    params.next = next;
252
                }
253
            },
254

    
255
            get token() { return params.token; }
256
        };
257
    };
258

    
259
    this.popRule = function(params) {
260
        if (params.next) {
261
            params.next = this.embeddedRulePrefix + params.next;
262
        }
263

    
264
        return {
265
            regex : params.regex, onMatch: function(value, currentState, stack, line) {
266
                stack.pop();
267
                if (params.next) {
268
                    stack.push(params.next);
269
                    this.next = stack[stack.length - 1];
270
                } else {
271
                    this.next = stack.length > 1 ? stack[stack.length - 1] : stack.pop();
272
                }
273
                return params.token;
274
            }
275
        };
276
    };
277

    
278
}).call(CsoundPreprocessorHighlightRules.prototype);
279

    
280
exports.CsoundPreprocessorHighlightRules = CsoundPreprocessorHighlightRules;
281
});
282

    
283
ace.define("ace/mode/csound_score_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/csound_preprocessor_highlight_rules"], function(require, exports, module) {
284
"use strict";
285

    
286
var oop = require("../lib/oop");
287

    
288
var CsoundPreprocessorHighlightRules = require("./csound_preprocessor_highlight_rules").CsoundPreprocessorHighlightRules;
289

    
290
var CsoundScoreHighlightRules = function(embeddedRulePrefix) {
291

    
292
    CsoundPreprocessorHighlightRules.call(this, embeddedRulePrefix);
293

    
294
    this.quotedStringContents.push({
295
        token : "invalid.illegal.csound-score",
296
        regex : /[^"]*$/
297
    });
298

    
299
    var start = this.$rules.start;
300
    start.push(
301
        {
302
            token : "keyword.control.csound-score",
303
            regex : /[abCdefiqstvxy]/
304
        }, {
305
            token : "invalid.illegal.csound-score",
306
            regex : /w/
307
        }, {
308
            token : "constant.numeric.language.csound-score",
309
            regex : /z/
310
        }, {
311
            token : ["keyword.control.csound-score", "constant.numeric.integer.decimal.csound-score"],
312
            regex : /([nNpP][pP])(\d+)/
313
        }, {
314
            token : "keyword.other.csound-score",
315
            regex : /[mn]/,
316
            push  : [
317
                {
318
                    token : "empty",
319
                    regex : /$/,
320
                    next  : "pop"
321
                },
322
                this.comments,
323
                {
324
                    token : "entity.name.label.csound-score",
325
                    regex : /[A-Z_a-z]\w*/
326
                }
327
            ]
328
        }, {
329
            token : "keyword.preprocessor.csound-score",
330
            regex : /r\b/,
331
            next  : "repeat section"
332
        },
333

    
334
        this.numbers,
335

    
336
        {
337
            token : "keyword.operator.csound-score",
338
            regex : "[!+\\-*/^%&|<>#~.]"
339
        },
340

    
341
        this.pushRule({
342
            token : "punctuation.definition.string.begin.csound-score",
343
            regex : /"/,
344
            next  : "quoted string"
345
        }),
346

    
347
        this.pushRule({
348
            token : "punctuation.braced-loop.begin.csound-score",
349
            regex : /{/,
350
            next  : "loop after left brace"
351
        })
352
    );
353

    
354
    this.addRules({
355
        "repeat section": [
356
            {
357
                token : "empty",
358
                regex : /$/,
359
                next  : "start"
360
            },
361
            this.comments,
362
            {
363
                token : "constant.numeric.integer.decimal.csound-score",
364
                regex : /\d+/,
365
                next  : "repeat section before label"
366
            }
367
        ],
368
        "repeat section before label": [
369
            {
370
                token : "empty",
371
                regex : /$/,
372
                next  : "start"
373
            },
374
            this.comments,
375
            {
376
                token : "entity.name.label.csound-score",
377
                regex : /[A-Z_a-z]\w*/,
378
                next  : "start"
379
            }
380
        ],
381

    
382
        "quoted string": [
383
            this.popRule({
384
                token : "punctuation.definition.string.end.csound-score",
385
                regex : /"/
386
            }),
387
            this.quotedStringContents,
388
            {
389
                defaultToken: "string.quoted.csound-score"
390
            }
391
        ],
392

    
393
        "loop after left brace": [
394
            this.popRule({
395
                token : "constant.numeric.integer.decimal.csound-score",
396
                regex : /\d+/,
397
                next  : "loop after repeat count"
398
            }),
399
            this.comments,
400
            {
401
                token : "invalid.illegal.csound",
402
                regex : /\S.*/
403
            }
404
        ],
405
        "loop after repeat count": [
406
            this.popRule({
407
                token : "entity.name.function.preprocessor.csound-score",
408
                regex : /[A-Z_a-z]\w*\b/,
409
                next  : "loop after macro name"
410
            }),
411
            this.comments,
412
            {
413
                token : "invalid.illegal.csound",
414
                regex : /\S.*/
415
            }
416
        ],
417
        "loop after macro name": [
418
            start,
419
            this.popRule({
420
                token : "punctuation.braced-loop.end.csound-score",
421
                regex : /}/
422
            })
423
        ]
424
    });
425

    
426
    this.normalizeRules();
427
};
428

    
429
oop.inherits(CsoundScoreHighlightRules, CsoundPreprocessorHighlightRules);
430

    
431
exports.CsoundScoreHighlightRules = CsoundScoreHighlightRules;
432
});
433

    
434
ace.define("ace/mode/lua_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
435
"use strict";
436

    
437
var oop = require("../lib/oop");
438
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
439

    
440
var LuaHighlightRules = function() {
441

    
442
    var keywords = (
443
        "break|do|else|elseif|end|for|function|if|in|local|repeat|"+
444
         "return|then|until|while|or|and|not"
445
    );
446

    
447
    var builtinConstants = ("true|false|nil|_G|_VERSION");
448

    
449
    var functions = (
450
        "string|xpcall|package|tostring|print|os|unpack|require|"+
451
        "getfenv|setmetatable|next|assert|tonumber|io|rawequal|"+
452
        "collectgarbage|getmetatable|module|rawset|math|debug|"+
453
        "pcall|table|newproxy|type|coroutine|_G|select|gcinfo|"+
454
        "pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|"+
455
        "load|error|loadfile|"+
456

    
457
        "sub|upper|len|gfind|rep|find|match|char|dump|gmatch|"+
458
        "reverse|byte|format|gsub|lower|preload|loadlib|loaded|"+
459
        "loaders|cpath|config|path|seeall|exit|setlocale|date|"+
460
        "getenv|difftime|remove|time|clock|tmpname|rename|execute|"+
461
        "lines|write|close|flush|open|output|type|read|stderr|"+
462
        "stdin|input|stdout|popen|tmpfile|log|max|acos|huge|"+
463
        "ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|"+
464
        "frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|"+
465
        "atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|"+
466
        "gethook|setmetatable|setlocal|traceback|setfenv|getinfo|"+
467
        "setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|"+
468
        "foreachi|maxn|foreach|concat|sort|remove|resume|yield|"+
469
        "status|wrap|create|running|"+
470
        "__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|"+
471
         "__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber"
472
    );
473

    
474
    var stdLibaries = ("string|package|os|io|math|debug|table|coroutine");
475

    
476
    var deprecatedIn5152 = ("setn|foreach|foreachi|gcinfo|log10|maxn");
477

    
478
    var keywordMapper = this.createKeywordMapper({
479
        "keyword": keywords,
480
        "support.function": functions,
481
        "keyword.deprecated": deprecatedIn5152,
482
        "constant.library": stdLibaries,
483
        "constant.language": builtinConstants,
484
        "variable.language": "self"
485
    }, "identifier");
486

    
487
    var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";
488
    var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
489
    var integer = "(?:" + decimalInteger + "|" + hexInteger + ")";
490

    
491
    var fraction = "(?:\\.\\d+)";
492
    var intPart = "(?:\\d+)";
493
    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
494
    var floatNumber = "(?:" + pointFloat + ")";
495

    
496
    this.$rules = {
497
        "start" : [{
498
            stateName: "bracketedComment",
499
            onMatch : function(value, currentState, stack){
500
                stack.unshift(this.next, value.length - 2, currentState);
501
                return "comment";
502
            },
503
            regex : /\-\-\[=*\[/,
504
            next  : [
505
                {
506
                    onMatch : function(value, currentState, stack) {
507
                        if (value.length == stack[1]) {
508
                            stack.shift();
509
                            stack.shift();
510
                            this.next = stack.shift();
511
                        } else {
512
                            this.next = "";
513
                        }
514
                        return "comment";
515
                    },
516
                    regex : /\]=*\]/,
517
                    next  : "start"
518
                }, {
519
                    defaultToken : "comment"
520
                }
521
            ]
522
        },
523

    
524
        {
525
            token : "comment",
526
            regex : "\\-\\-.*$"
527
        },
528
        {
529
            stateName: "bracketedString",
530
            onMatch : function(value, currentState, stack){
531
                stack.unshift(this.next, value.length, currentState);
532
                return "string.start";
533
            },
534
            regex : /\[=*\[/,
535
            next  : [
536
                {
537
                    onMatch : function(value, currentState, stack) {
538
                        if (value.length == stack[1]) {
539
                            stack.shift();
540
                            stack.shift();
541
                            this.next = stack.shift();
542
                        } else {
543
                            this.next = "";
544
                        }
545
                        return "string.end";
546
                    },
547
                    
548
                    regex : /\]=*\]/,
549
                    next  : "start"
550
                }, {
551
                    defaultToken : "string"
552
                }
553
            ]
554
        },
555
        {
556
            token : "string",           // " string
557
            regex : '"(?:[^\\\\]|\\\\.)*?"'
558
        }, {
559
            token : "string",           // ' string
560
            regex : "'(?:[^\\\\]|\\\\.)*?'"
561
        }, {
562
            token : "constant.numeric", // float
563
            regex : floatNumber
564
        }, {
565
            token : "constant.numeric", // integer
566
            regex : integer + "\\b"
567
        }, {
568
            token : keywordMapper,
569
            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
570
        }, {
571
            token : "keyword.operator",
572
            regex : "\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."
573
        }, {
574
            token : "paren.lparen",
575
            regex : "[\\[\\(\\{]"
576
        }, {
577
            token : "paren.rparen",
578
            regex : "[\\]\\)\\}]"
579
        }, {
580
            token : "text",
581
            regex : "\\s+|\\w+"
582
        } ]
583
    };
584
    
585
    this.normalizeRules();
586
};
587

    
588
oop.inherits(LuaHighlightRules, TextHighlightRules);
589

    
590
exports.LuaHighlightRules = LuaHighlightRules;
591
});
592

    
593
ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
594
"use strict";
595

    
596
var oop = require("../lib/oop");
597
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
598

    
599
var PythonHighlightRules = function() {
600

    
601
    var keywords = (
602
        "and|as|assert|break|class|continue|def|del|elif|else|except|exec|" +
603
        "finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|" +
604
        "raise|return|try|while|with|yield|async|await|nonlocal"
605
    );
606

    
607
    var builtinConstants = (
608
        "True|False|None|NotImplemented|Ellipsis|__debug__"
609
    );
610

    
611
    var builtinFunctions = (
612
        "abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|" +
613
        "eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|" +
614
        "binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|" +
615
        "float|list|raw_input|unichr|callable|format|locals|reduce|unicode|" +
616
        "chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|" +
617
        "cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|" +
618
        "__import__|complex|hash|min|apply|delattr|help|next|setattr|set|" +
619
        "buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|" +
620
        "ascii|breakpoint|bytes"
621
    );
622
    var keywordMapper = this.createKeywordMapper({
623
        "invalid.deprecated": "debugger",
624
        "support.function": builtinFunctions,
625
        "variable.language": "self|cls",
626
        "constant.language": builtinConstants,
627
        "keyword": keywords
628
    }, "identifier");
629

    
630
    var strPre = "[uU]?";
631
    var strRawPre = "[rR]";
632
    var strFormatPre = "[fF]";
633
    var strRawFormatPre = "(?:[rR][fF]|[fF][rR])";
634
    var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";
635
    var octInteger = "(?:0[oO]?[0-7]+)";
636
    var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
637
    var binInteger = "(?:0[bB][01]+)";
638
    var integer = "(?:" + decimalInteger + "|" + octInteger + "|" + hexInteger + "|" + binInteger + ")";
639

    
640
    var exponent = "(?:[eE][+-]?\\d+)";
641
    var fraction = "(?:\\.\\d+)";
642
    var intPart = "(?:\\d+)";
643
    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
644
    var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + exponent + ")";
645
    var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
646

    
647
    var stringEscape = "\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";
648

    
649
    this.$rules = {
650
        "start" : [ {
651
            token : "comment",
652
            regex : "#.*$"
653
        }, {
654
            token : "string",           // multi line """ string start
655
            regex : strPre + '"{3}',
656
            next : "qqstring3"
657
        }, {
658
            token : "string",           // " string
659
            regex : strPre + '"(?=.)',
660
            next : "qqstring"
661
        }, {
662
            token : "string",           // multi line ''' string start
663
            regex : strPre + "'{3}",
664
            next : "qstring3"
665
        }, {
666
            token : "string",           // ' string
667
            regex : strPre + "'(?=.)",
668
            next : "qstring"
669
        }, {
670
            token: "string",
671
            regex: strRawPre + '"{3}',
672
            next: "rawqqstring3"
673
        }, {
674
            token: "string", 
675
            regex: strRawPre + '"(?=.)',
676
            next: "rawqqstring"
677
        }, {
678
            token: "string",
679
            regex: strRawPre + "'{3}",
680
            next: "rawqstring3"
681
        }, {
682
            token: "string",
683
            regex: strRawPre + "'(?=.)",
684
            next: "rawqstring"
685
        }, {
686
            token: "string",
687
            regex: strFormatPre + '"{3}',
688
            next: "fqqstring3"
689
        }, {
690
            token: "string",
691
            regex: strFormatPre + '"(?=.)',
692
            next: "fqqstring"
693
        }, {
694
            token: "string",
695
            regex: strFormatPre + "'{3}",
696
            next: "fqstring3"
697
        }, {
698
            token: "string",
699
            regex: strFormatPre + "'(?=.)",
700
            next: "fqstring"
701
        },{
702
            token: "string",
703
            regex: strRawFormatPre + '"{3}',
704
            next: "rfqqstring3"
705
        }, {
706
            token: "string",
707
            regex: strRawFormatPre + '"(?=.)',
708
            next: "rfqqstring"
709
        }, {
710
            token: "string",
711
            regex: strRawFormatPre + "'{3}",
712
            next: "rfqstring3"
713
        }, {
714
            token: "string",
715
            regex: strRawFormatPre + "'(?=.)",
716
            next: "rfqstring"
717
        }, {
718
            token: "keyword.operator",
719
            regex: "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="
720
        }, {
721
            token: "punctuation",
722
            regex: ",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="
723
        }, {
724
            token: "paren.lparen",
725
            regex: "[\\[\\(\\{]"
726
        }, {
727
            token: "paren.rparen",
728
            regex: "[\\]\\)\\}]"
729
        }, {
730
            token: "text",
731
            regex: "\\s+"
732
        }, {
733
            include: "constants"
734
        }],
735
        "qqstring3": [{
736
            token: "constant.language.escape",
737
            regex: stringEscape
738
        }, {
739
            token: "string", // multi line """ string end
740
            regex: '"{3}',
741
            next: "start"
742
        }, {
743
            defaultToken: "string"
744
        }],
745
        "qstring3": [{
746
            token: "constant.language.escape",
747
            regex: stringEscape
748
        }, {
749
            token: "string",  // multi line ''' string end
750
            regex: "'{3}",
751
            next: "start"
752
        }, {
753
            defaultToken: "string"
754
        }],
755
        "qqstring": [{
756
            token: "constant.language.escape",
757
            regex: stringEscape
758
        }, {
759
            token: "string",
760
            regex: "\\\\$",
761
            next: "qqstring"
762
        }, {
763
            token: "string",
764
            regex: '"|$',
765
            next: "start"
766
        }, {
767
            defaultToken: "string"
768
        }],
769
        "qstring": [{
770
            token: "constant.language.escape",
771
            regex: stringEscape
772
        }, {
773
            token: "string",
774
            regex: "\\\\$",
775
            next: "qstring"
776
        }, {
777
            token: "string",
778
            regex: "'|$",
779
            next: "start"
780
        }, {
781
            defaultToken: "string"
782
        }],
783
        "rawqqstring3": [{
784
            token: "string", // multi line """ string end
785
            regex: '"{3}',
786
            next: "start"
787
        }, {
788
            defaultToken: "string"
789
        }],
790
        "rawqstring3": [{
791
            token: "string",  // multi line ''' string end
792
            regex: "'{3}",
793
            next: "start"
794
        }, {
795
            defaultToken: "string"
796
        }],
797
        "rawqqstring": [{
798
            token: "string",
799
            regex: "\\\\$",
800
            next: "rawqqstring"
801
        }, {
802
            token: "string",
803
            regex: '"|$',
804
            next: "start"
805
        }, {
806
            defaultToken: "string"
807
        }],
808
        "rawqstring": [{
809
            token: "string",
810
            regex: "\\\\$",
811
            next: "rawqstring"
812
        }, {
813
            token: "string",
814
            regex: "'|$",
815
            next: "start"
816
        }, {
817
            defaultToken: "string"
818
        }],
819
        "fqqstring3": [{
820
            token: "constant.language.escape",
821
            regex: stringEscape
822
        }, {
823
            token: "string", // multi line """ string end
824
            regex: '"{3}',
825
            next: "start"
826
        }, {
827
            token: "paren.lparen",
828
            regex: "{",
829
            push: "fqstringParRules"
830
        }, {
831
            defaultToken: "string"
832
        }],
833
        "fqstring3": [{
834
            token: "constant.language.escape",
835
            regex: stringEscape
836
        }, {
837
            token: "string",  // multi line ''' string end
838
            regex: "'{3}",
839
            next: "start"
840
        }, {
841
            token: "paren.lparen",
842
            regex: "{",
843
            push: "fqstringParRules"
844
        }, {
845
            defaultToken: "string"
846
        }],
847
        "fqqstring": [{
848
            token: "constant.language.escape",
849
            regex: stringEscape
850
        }, {
851
            token: "string",
852
            regex: "\\\\$",
853
            next: "fqqstring"
854
        }, {
855
            token: "string",
856
            regex: '"|$',
857
            next: "start"
858
        }, {
859
            token: "paren.lparen",
860
            regex: "{",
861
            push: "fqstringParRules"
862
        }, {
863
            defaultToken: "string"
864
        }],
865
        "fqstring": [{
866
            token: "constant.language.escape",
867
            regex: stringEscape
868
        }, {
869
            token: "string",
870
            regex: "'|$",
871
            next: "start"
872
        }, {
873
            token: "paren.lparen",
874
            regex: "{",
875
            push: "fqstringParRules"
876
        }, {
877
            defaultToken: "string"
878
        }],
879
        "rfqqstring3": [{
880
            token: "string", // multi line """ string end
881
            regex: '"{3}',
882
            next: "start"
883
        }, {
884
            token: "paren.lparen",
885
            regex: "{",
886
            push: "fqstringParRules"
887
        }, {
888
            defaultToken: "string"
889
        }],
890
        "rfqstring3": [{
891
            token: "string",  // multi line ''' string end
892
            regex: "'{3}",
893
            next: "start"
894
        }, {
895
            token: "paren.lparen",
896
            regex: "{",
897
            push: "fqstringParRules"
898
        }, {
899
            defaultToken: "string"
900
        }],
901
        "rfqqstring": [{
902
            token: "string",
903
            regex: "\\\\$",
904
            next: "rfqqstring"
905
        }, {
906
            token: "string",
907
            regex: '"|$',
908
            next: "start"
909
        }, {
910
            token: "paren.lparen",
911
            regex: "{",
912
            push: "fqstringParRules"
913
        }, {
914
            defaultToken: "string"
915
        }],
916
        "rfqstring": [{
917
            token: "string",
918
            regex: "'|$",
919
            next: "start"
920
        }, {
921
            token: "paren.lparen",
922
            regex: "{",
923
            push: "fqstringParRules"
924
        }, {
925
            defaultToken: "string"
926
        }],
927
        "fqstringParRules": [{//TODO: nested {}
928
            token: "paren.lparen",
929
            regex: "[\\[\\(]"
930
        }, {
931
            token: "paren.rparen",
932
            regex: "[\\]\\)]"
933
        }, {
934
            token: "string",
935
            regex: "\\s+"
936
        }, {
937
            token: "string",
938
            regex: "'(.)*'"
939
        }, {
940
            token: "string",
941
            regex: '"(.)*"'
942
        }, {
943
            token: "function.support",
944
            regex: "(!s|!r|!a)"
945
        }, {
946
            include: "constants"
947
        },{
948
            token: 'paren.rparen',
949
            regex: "}",
950
            next: 'pop'
951
        },{
952
            token: 'paren.lparen',
953
            regex: "{",
954
            push: "fqstringParRules"
955
        }],
956
        "constants": [{
957
            token: "constant.numeric", // imaginary
958
            regex: "(?:" + floatNumber + "|\\d+)[jJ]\\b"
959
        }, {
960
            token: "constant.numeric", // float
961
            regex: floatNumber
962
        }, {
963
            token: "constant.numeric", // long integer
964
            regex: integer + "[lL]\\b"
965
        }, {
966
            token: "constant.numeric", // integer
967
            regex: integer + "\\b"
968
        }, {
969
            token: ["punctuation", "function.support"],// method
970
            regex: "(\\.)([a-zA-Z_]+)\\b"
971
        }, {
972
            token: keywordMapper,
973
            regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
974
        }]
975
    };
976
    this.normalizeRules();
977
};
978

    
979
oop.inherits(PythonHighlightRules, TextHighlightRules);
980

    
981
exports.PythonHighlightRules = PythonHighlightRules;
982
});
983

    
984
ace.define("ace/mode/csound_orchestra_highlight_rules",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/mode/csound_preprocessor_highlight_rules","ace/mode/csound_score_highlight_rules","ace/mode/lua_highlight_rules","ace/mode/python_highlight_rules"], function(require, exports, module) {
985
"use strict";
986

    
987
var lang = require("../lib/lang");
988
var oop = require("../lib/oop");
989

    
990
var CsoundPreprocessorHighlightRules = require("./csound_preprocessor_highlight_rules").CsoundPreprocessorHighlightRules;
991
var CsoundScoreHighlightRules = require("./csound_score_highlight_rules").CsoundScoreHighlightRules;
992
var LuaHighlightRules = require("./lua_highlight_rules").LuaHighlightRules;
993
var PythonHighlightRules = require("./python_highlight_rules").PythonHighlightRules;
994

    
995
var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
996

    
997
    CsoundPreprocessorHighlightRules.call(this, embeddedRulePrefix);
998
    var opcodes = [
999
        "ATSadd",
1000
        "ATSaddnz",
1001
        "ATSbufread",
1002
        "ATScross",
1003
        "ATSinfo",
1004
        "ATSinterpread",
1005
        "ATSpartialtap",
1006
        "ATSread",
1007
        "ATSreadnz",
1008
        "ATSsinnoi",
1009
        "FLbox",
1010
        "FLbutBank",
1011
        "FLbutton",
1012
        "FLcloseButton",
1013
        "FLcolor",
1014
        "FLcolor2",
1015
        "FLcount",
1016
        "FLexecButton",
1017
        "FLgetsnap",
1018
        "FLgroup",
1019
        "FLgroupEnd",
1020
        "FLgroup_end",
1021
        "FLhide",
1022
        "FLhvsBox",
1023
        "FLhvsBoxSetValue",
1024
        "FLjoy",
1025
        "FLkeyIn",
1026
        "FLknob",
1027
        "FLlabel",
1028
        "FLloadsnap",
1029
        "FLmouse",
1030
        "FLpack",
1031
        "FLpackEnd",
1032
        "FLpack_end",
1033
        "FLpanel",
1034
        "FLpanelEnd",
1035
        "FLpanel_end",
1036
        "FLprintk",
1037
        "FLprintk2",
1038
        "FLroller",
1039
        "FLrun",
1040
        "FLsavesnap",
1041
        "FLscroll",
1042
        "FLscrollEnd",
1043
        "FLscroll_end",
1044
        "FLsetAlign",
1045
        "FLsetBox",
1046
        "FLsetColor",
1047
        "FLsetColor2",
1048
        "FLsetFont",
1049
        "FLsetPosition",
1050
        "FLsetSize",
1051
        "FLsetSnapGroup",
1052
        "FLsetText",
1053
        "FLsetTextColor",
1054
        "FLsetTextSize",
1055
        "FLsetTextType",
1056
        "FLsetVal",
1057
        "FLsetVal_i",
1058
        "FLsetVali",
1059
        "FLsetsnap",
1060
        "FLshow",
1061
        "FLslidBnk",
1062
        "FLslidBnk2",
1063
        "FLslidBnk2Set",
1064
        "FLslidBnk2Setk",
1065
        "FLslidBnkGetHandle",
1066
        "FLslidBnkSet",
1067
        "FLslidBnkSetk",
1068
        "FLslider",
1069
        "FLtabs",
1070
        "FLtabsEnd",
1071
        "FLtabs_end",
1072
        "FLtext",
1073
        "FLupdate",
1074
        "FLvalue",
1075
        "FLvkeybd",
1076
        "FLvslidBnk",
1077
        "FLvslidBnk2",
1078
        "FLxyin",
1079
        "JackoAudioIn",
1080
        "JackoAudioInConnect",
1081
        "JackoAudioOut",
1082
        "JackoAudioOutConnect",
1083
        "JackoFreewheel",
1084
        "JackoInfo",
1085
        "JackoInit",
1086
        "JackoMidiInConnect",
1087
        "JackoMidiOut",
1088
        "JackoMidiOutConnect",
1089
        "JackoNoteOut",
1090
        "JackoOn",
1091
        "JackoTransport",
1092
        "K35_hpf",
1093
        "K35_lpf",
1094
        "MixerClear",
1095
        "MixerGetLevel",
1096
        "MixerReceive",
1097
        "MixerSend",
1098
        "MixerSetLevel",
1099
        "MixerSetLevel_i",
1100
        "OSCbundle",
1101
        "OSCcount",
1102
        "OSCinit",
1103
        "OSCinitM",
1104
        "OSClisten",
1105
        "OSCraw",
1106
        "OSCsend",
1107
        "OSCsend_lo",
1108
        "S",
1109
        "STKBandedWG",
1110
        "STKBeeThree",
1111
        "STKBlowBotl",
1112
        "STKBlowHole",
1113
        "STKBowed",
1114
        "STKBrass",
1115
        "STKClarinet",
1116
        "STKDrummer",
1117
        "STKFMVoices",
1118
        "STKFlute",
1119
        "STKHevyMetl",
1120
        "STKMandolin",
1121
        "STKModalBar",
1122
        "STKMoog",
1123
        "STKPercFlut",
1124
        "STKPlucked",
1125
        "STKResonate",
1126
        "STKRhodey",
1127
        "STKSaxofony",
1128
        "STKShakers",
1129
        "STKSimple",
1130
        "STKSitar",
1131
        "STKStifKarp",
1132
        "STKTubeBell",
1133
        "STKVoicForm",
1134
        "STKWhistle",
1135
        "STKWurley",
1136
        "a",
1137
        "abs",
1138
        "active",
1139
        "adsr",
1140
        "adsyn",
1141
        "adsynt",
1142
        "adsynt2",
1143
        "aftouch",
1144
        "alpass",
1145
        "alwayson",
1146
        "ampdb",
1147
        "ampdbfs",
1148
        "ampmidi",
1149
        "ampmidicurve",
1150
        "ampmidid",
1151
        "areson",
1152
        "aresonk",
1153
        "atone",
1154
        "atonek",
1155
        "atonex",
1156
        "babo",
1157
        "balance",
1158
        "balance2",
1159
        "bamboo",
1160
        "barmodel",
1161
        "bbcutm",
1162
        "bbcuts",
1163
        "beadsynt",
1164
        "beosc",
1165
        "betarand",
1166
        "bexprnd",
1167
        "bformdec1",
1168
        "bformenc1",
1169
        "binit",
1170
        "biquad",
1171
        "biquada",
1172
        "birnd",
1173
        "bpf",
1174
        "bpfcos",
1175
        "bqrez",
1176
        "butbp",
1177
        "butbr",
1178
        "buthp",
1179
        "butlp",
1180
        "butterbp",
1181
        "butterbr",
1182
        "butterhp",
1183
        "butterlp",
1184
        "button",
1185
        "buzz",
1186
        "c2r",
1187
        "cabasa",
1188
        "cauchy",
1189
        "cauchyi",
1190
        "cbrt",
1191
        "ceil",
1192
        "cell",
1193
        "cent",
1194
        "centroid",
1195
        "ceps",
1196
        "cepsinv",
1197
        "chanctrl",
1198
        "changed2",
1199
        "chani",
1200
        "chano",
1201
        "chebyshevpoly",
1202
        "checkbox",
1203
        "chn_S",
1204
        "chn_a",
1205
        "chn_k",
1206
        "chnclear",
1207
        "chnexport",
1208
        "chnget",
1209
        "chngeta",
1210
        "chngeti",
1211
        "chngetk",
1212
        "chngetks",
1213
        "chngets",
1214
        "chnmix",
1215
        "chnparams",
1216
        "chnset",
1217
        "chnseta",
1218
        "chnseti",
1219
        "chnsetk",
1220
        "chnsetks",
1221
        "chnsets",
1222
        "chuap",
1223
        "clear",
1224
        "clfilt",
1225
        "clip",
1226
        "clockoff",
1227
        "clockon",
1228
        "cmp",
1229
        "cmplxprod",
1230
        "comb",
1231
        "combinv",
1232
        "compilecsd",
1233
        "compileorc",
1234
        "compilestr",
1235
        "compress",
1236
        "compress2",
1237
        "connect",
1238
        "control",
1239
        "convle",
1240
        "convolve",
1241
        "copya2ftab",
1242
        "copyf2array",
1243
        "cos",
1244
        "cosh",
1245
        "cosinv",
1246
        "cosseg",
1247
        "cossegb",
1248
        "cossegr",
1249
        "cps2pch",
1250
        "cpsmidi",
1251
        "cpsmidib",
1252
        "cpsmidinn",
1253
        "cpsoct",
1254
        "cpspch",
1255
        "cpstmid",
1256
        "cpstun",
1257
        "cpstuni",
1258
        "cpsxpch",
1259
        "cpumeter",
1260
        "cpuprc",
1261
        "cross2",
1262
        "crossfm",
1263
        "crossfmi",
1264
        "crossfmpm",
1265
        "crossfmpmi",
1266
        "crosspm",
1267
        "crosspmi",
1268
        "crunch",
1269
        "ctlchn",
1270
        "ctrl14",
1271
        "ctrl21",
1272
        "ctrl7",
1273
        "ctrlinit",
1274
        "cuserrnd",
1275
        "dam",
1276
        "date",
1277
        "dates",
1278
        "db",
1279
        "dbamp",
1280
        "dbfsamp",
1281
        "dcblock",
1282
        "dcblock2",
1283
        "dconv",
1284
        "dct",
1285
        "dctinv",
1286
        "deinterleave",
1287
        "delay",
1288
        "delay1",
1289
        "delayk",
1290
        "delayr",
1291
        "delayw",
1292
        "deltap",
1293
        "deltap3",
1294
        "deltapi",
1295
        "deltapn",
1296
        "deltapx",
1297
        "deltapxw",
1298
        "denorm",
1299
        "diff",
1300
        "diode_ladder",
1301
        "directory",
1302
        "diskgrain",
1303
        "diskin",
1304
        "diskin2",
1305
        "dispfft",
1306
        "display",
1307
        "distort",
1308
        "distort1",
1309
        "divz",
1310
        "doppler",
1311
        "dot",
1312
        "downsamp",
1313
        "dripwater",
1314
        "dssiactivate",
1315
        "dssiaudio",
1316
        "dssictls",
1317
        "dssiinit",
1318
        "dssilist",
1319
        "dumpk",
1320
        "dumpk2",
1321
        "dumpk3",
1322
        "dumpk4",
1323
        "duserrnd",
1324
        "dust",
1325
        "dust2",
1326
        "envlpx",
1327
        "envlpxr",
1328
        "ephasor",
1329
        "eqfil",
1330
        "evalstr",
1331
        "event",
1332
        "event_i",
1333
        "exciter",
1334
        "exitnow",
1335
        "exp",
1336
        "expcurve",
1337
        "expon",
1338
        "exprand",
1339
        "exprandi",
1340
        "expseg",
1341
        "expsega",
1342
        "expsegb",
1343
        "expsegba",
1344
        "expsegr",
1345
        "fareylen",
1346
        "fareyleni",
1347
        "faustaudio",
1348
        "faustcompile",
1349
        "faustctl",
1350
        "faustdsp",
1351
        "faustgen",
1352
        "faustplay",
1353
        "fft",
1354
        "fftinv",
1355
        "ficlose",
1356
        "filebit",
1357
        "filelen",
1358
        "filenchnls",
1359
        "filepeak",
1360
        "filescal",
1361
        "filesr",
1362
        "filevalid",
1363
        "fillarray",
1364
        "filter2",
1365
        "fin",
1366
        "fini",
1367
        "fink",
1368
        "fiopen",
1369
        "flanger",
1370
        "flashtxt",
1371
        "flooper",
1372
        "flooper2",
1373
        "floor",
1374
        "fluidAllOut",
1375
        "fluidCCi",
1376
        "fluidCCk",
1377
        "fluidControl",
1378
        "fluidEngine",
1379
        "fluidInfo",
1380
        "fluidLoad",
1381
        "fluidNote",
1382
        "fluidOut",
1383
        "fluidProgramSelect",
1384
        "fluidSetInterpMethod",
1385
        "fmanal",
1386
        "fmax",
1387
        "fmb3",
1388
        "fmbell",
1389
        "fmin",
1390
        "fmmetal",
1391
        "fmod",
1392
        "fmpercfl",
1393
        "fmrhode",
1394
        "fmvoice",
1395
        "fmwurlie",
1396
        "fof",
1397
        "fof2",
1398
        "fofilter",
1399
        "fog",
1400
        "fold",
1401
        "follow",
1402
        "follow2",
1403
        "foscil",
1404
        "foscili",
1405
        "fout",
1406
        "fouti",
1407
        "foutir",
1408
        "foutk",
1409
        "fprintks",
1410
        "fprints",
1411
        "frac",
1412
        "fractalnoise",
1413
        "framebuffer",
1414
        "freeverb",
1415
        "ftaudio",
1416
        "ftchnls",
1417
        "ftconv",
1418
        "ftcps",
1419
        "ftexists",
1420
        "ftfree",
1421
        "ftgen",
1422
        "ftgenonce",
1423
        "ftgentmp",
1424
        "ftlen",
1425
        "ftload",
1426
        "ftloadk",
1427
        "ftlptim",
1428
        "ftmorf",
1429
        "ftom",
1430
        "ftprint",
1431
        "ftresize",
1432
        "ftresizei",
1433
        "ftsamplebank",
1434
        "ftsave",
1435
        "ftsavek",
1436
        "ftslice",
1437
        "ftsr",
1438
        "gain",
1439
        "gainslider",
1440
        "gauss",
1441
        "gaussi",
1442
        "gausstrig",
1443
        "gbuzz",
1444
        "genarray",
1445
        "genarray_i",
1446
        "gendy",
1447
        "gendyc",
1448
        "gendyx",
1449
        "getcfg",
1450
        "getcol",
1451
        "getftargs",
1452
        "getrow",
1453
        "getrowlin",
1454
        "getseed",
1455
        "gogobel",
1456
        "grain",
1457
        "grain2",
1458
        "grain3",
1459
        "granule",
1460
        "gtf",
1461
        "guiro",
1462
        "harmon",
1463
        "harmon2",
1464
        "harmon3",
1465
        "harmon4",
1466
        "hdf5read",
1467
        "hdf5write",
1468
        "hilbert",
1469
        "hilbert2",
1470
        "hrtfearly",
1471
        "hrtfmove",
1472
        "hrtfmove2",
1473
        "hrtfreverb",
1474
        "hrtfstat",
1475
        "hsboscil",
1476
        "hvs1",
1477
        "hvs2",
1478
        "hvs3",
1479
        "hypot",
1480
        "i",
1481
        "ihold",
1482
        "imagecreate",
1483
        "imagefree",
1484
        "imagegetpixel",
1485
        "imageload",
1486
        "imagesave",
1487
        "imagesetpixel",
1488
        "imagesize",
1489
        "in",
1490
        "in32",
1491
        "inch",
1492
        "inh",
1493
        "init",
1494
        "initc14",
1495
        "initc21",
1496
        "initc7",
1497
        "inleta",
1498
        "inletf",
1499
        "inletk",
1500
        "inletkid",
1501
        "inletv",
1502
        "ino",
1503
        "inq",
1504
        "inrg",
1505
        "ins",
1506
        "insglobal",
1507
        "insremot",
1508
        "int",
1509
        "integ",
1510
        "interleave",
1511
        "interp",
1512
        "invalue",
1513
        "inx",
1514
        "inz",
1515
        "jacktransport",
1516
        "jitter",
1517
        "jitter2",
1518
        "joystick",
1519
        "jspline",
1520
        "k",
1521
        "la_i_add_mc",
1522
        "la_i_add_mr",
1523
        "la_i_add_vc",
1524
        "la_i_add_vr",
1525
        "la_i_assign_mc",
1526
        "la_i_assign_mr",
1527
        "la_i_assign_t",
1528
        "la_i_assign_vc",
1529
        "la_i_assign_vr",
1530
        "la_i_conjugate_mc",
1531
        "la_i_conjugate_mr",
1532
        "la_i_conjugate_vc",
1533
        "la_i_conjugate_vr",
1534
        "la_i_distance_vc",
1535
        "la_i_distance_vr",
1536
        "la_i_divide_mc",
1537
        "la_i_divide_mr",
1538
        "la_i_divide_vc",
1539
        "la_i_divide_vr",
1540
        "la_i_dot_mc",
1541
        "la_i_dot_mc_vc",
1542
        "la_i_dot_mr",
1543
        "la_i_dot_mr_vr",
1544
        "la_i_dot_vc",
1545
        "la_i_dot_vr",
1546
        "la_i_get_mc",
1547
        "la_i_get_mr",
1548
        "la_i_get_vc",
1549
        "la_i_get_vr",
1550
        "la_i_invert_mc",
1551
        "la_i_invert_mr",
1552
        "la_i_lower_solve_mc",
1553
        "la_i_lower_solve_mr",
1554
        "la_i_lu_det_mc",
1555
        "la_i_lu_det_mr",
1556
        "la_i_lu_factor_mc",
1557
        "la_i_lu_factor_mr",
1558
        "la_i_lu_solve_mc",
1559
        "la_i_lu_solve_mr",
1560
        "la_i_mc_create",
1561
        "la_i_mc_set",
1562
        "la_i_mr_create",
1563
        "la_i_mr_set",
1564
        "la_i_multiply_mc",
1565
        "la_i_multiply_mr",
1566
        "la_i_multiply_vc",
1567
        "la_i_multiply_vr",
1568
        "la_i_norm1_mc",
1569
        "la_i_norm1_mr",
1570
        "la_i_norm1_vc",
1571
        "la_i_norm1_vr",
1572
        "la_i_norm_euclid_mc",
1573
        "la_i_norm_euclid_mr",
1574
        "la_i_norm_euclid_vc",
1575
        "la_i_norm_euclid_vr",
1576
        "la_i_norm_inf_mc",
1577
        "la_i_norm_inf_mr",
1578
        "la_i_norm_inf_vc",
1579
        "la_i_norm_inf_vr",
1580
        "la_i_norm_max_mc",
1581
        "la_i_norm_max_mr",
1582
        "la_i_print_mc",
1583
        "la_i_print_mr",
1584
        "la_i_print_vc",
1585
        "la_i_print_vr",
1586
        "la_i_qr_eigen_mc",
1587
        "la_i_qr_eigen_mr",
1588
        "la_i_qr_factor_mc",
1589
        "la_i_qr_factor_mr",
1590
        "la_i_qr_sym_eigen_mc",
1591
        "la_i_qr_sym_eigen_mr",
1592
        "la_i_random_mc",
1593
        "la_i_random_mr",
1594
        "la_i_random_vc",
1595
        "la_i_random_vr",
1596
        "la_i_size_mc",
1597
        "la_i_size_mr",
1598
        "la_i_size_vc",
1599
        "la_i_size_vr",
1600
        "la_i_subtract_mc",
1601
        "la_i_subtract_mr",
1602
        "la_i_subtract_vc",
1603
        "la_i_subtract_vr",
1604
        "la_i_t_assign",
1605
        "la_i_trace_mc",
1606
        "la_i_trace_mr",
1607
        "la_i_transpose_mc",
1608
        "la_i_transpose_mr",
1609
        "la_i_upper_solve_mc",
1610
        "la_i_upper_solve_mr",
1611
        "la_i_vc_create",
1612
        "la_i_vc_set",
1613
        "la_i_vr_create",
1614
        "la_i_vr_set",
1615
        "la_k_a_assign",
1616
        "la_k_add_mc",
1617
        "la_k_add_mr",
1618
        "la_k_add_vc",
1619
        "la_k_add_vr",
1620
        "la_k_assign_a",
1621
        "la_k_assign_f",
1622
        "la_k_assign_mc",
1623
        "la_k_assign_mr",
1624
        "la_k_assign_t",
1625
        "la_k_assign_vc",
1626
        "la_k_assign_vr",
1627
        "la_k_conjugate_mc",
1628
        "la_k_conjugate_mr",
1629
        "la_k_conjugate_vc",
1630
        "la_k_conjugate_vr",
1631
        "la_k_current_f",
1632
        "la_k_current_vr",
1633
        "la_k_distance_vc",
1634
        "la_k_distance_vr",
1635
        "la_k_divide_mc",
1636
        "la_k_divide_mr",
1637
        "la_k_divide_vc",
1638
        "la_k_divide_vr",
1639
        "la_k_dot_mc",
1640
        "la_k_dot_mc_vc",
1641
        "la_k_dot_mr",
1642
        "la_k_dot_mr_vr",
1643
        "la_k_dot_vc",
1644
        "la_k_dot_vr",
1645
        "la_k_f_assign",
1646
        "la_k_get_mc",
1647
        "la_k_get_mr",
1648
        "la_k_get_vc",
1649
        "la_k_get_vr",
1650
        "la_k_invert_mc",
1651
        "la_k_invert_mr",
1652
        "la_k_lower_solve_mc",
1653
        "la_k_lower_solve_mr",
1654
        "la_k_lu_det_mc",
1655
        "la_k_lu_det_mr",
1656
        "la_k_lu_factor_mc",
1657
        "la_k_lu_factor_mr",
1658
        "la_k_lu_solve_mc",
1659
        "la_k_lu_solve_mr",
1660
        "la_k_mc_set",
1661
        "la_k_mr_set",
1662
        "la_k_multiply_mc",
1663
        "la_k_multiply_mr",
1664
        "la_k_multiply_vc",
1665
        "la_k_multiply_vr",
1666
        "la_k_norm1_mc",
1667
        "la_k_norm1_mr",
1668
        "la_k_norm1_vc",
1669
        "la_k_norm1_vr",
1670
        "la_k_norm_euclid_mc",
1671
        "la_k_norm_euclid_mr",
1672
        "la_k_norm_euclid_vc",
1673
        "la_k_norm_euclid_vr",
1674
        "la_k_norm_inf_mc",
1675
        "la_k_norm_inf_mr",
1676
        "la_k_norm_inf_vc",
1677
        "la_k_norm_inf_vr",
1678
        "la_k_norm_max_mc",
1679
        "la_k_norm_max_mr",
1680
        "la_k_qr_eigen_mc",
1681
        "la_k_qr_eigen_mr",
1682
        "la_k_qr_factor_mc",
1683
        "la_k_qr_factor_mr",
1684
        "la_k_qr_sym_eigen_mc",
1685
        "la_k_qr_sym_eigen_mr",
1686
        "la_k_random_mc",
1687
        "la_k_random_mr",
1688
        "la_k_random_vc",
1689
        "la_k_random_vr",
1690
        "la_k_subtract_mc",
1691
        "la_k_subtract_mr",
1692
        "la_k_subtract_vc",
1693
        "la_k_subtract_vr",
1694
        "la_k_t_assign",
1695
        "la_k_trace_mc",
1696
        "la_k_trace_mr",
1697
        "la_k_upper_solve_mc",
1698
        "la_k_upper_solve_mr",
1699
        "la_k_vc_set",
1700
        "la_k_vr_set",
1701
        "lastcycle",
1702
        "lenarray",
1703
        "lfo",
1704
        "limit",
1705
        "limit1",
1706
        "lincos",
1707
        "line",
1708
        "linen",
1709
        "linenr",
1710
        "lineto",
1711
        "link_beat_force",
1712
        "link_beat_get",
1713
        "link_beat_request",
1714
        "link_create",
1715
        "link_enable",
1716
        "link_is_enabled",
1717
        "link_metro",
1718
        "link_peers",
1719
        "link_tempo_get",
1720
        "link_tempo_set",
1721
        "linlin",
1722
        "linrand",
1723
        "linseg",
1724
        "linsegb",
1725
        "linsegr",
1726
        "liveconv",
1727
        "locsend",
1728
        "locsig",
1729
        "log",
1730
        "log10",
1731
        "log2",
1732
        "logbtwo",
1733
        "logcurve",
1734
        "loopseg",
1735
        "loopsegp",
1736
        "looptseg",
1737
        "loopxseg",
1738
        "lorenz",
1739
        "loscil",
1740
        "loscil3",
1741
        "loscil3phs",
1742
        "loscilphs",
1743
        "loscilx",
1744
        "lowpass2",
1745
        "lowres",
1746
        "lowresx",
1747
        "lpf18",
1748
        "lpform",
1749
        "lpfreson",
1750
        "lphasor",
1751
        "lpinterp",
1752
        "lposcil",
1753
        "lposcil3",
1754
        "lposcila",
1755
        "lposcilsa",
1756
        "lposcilsa2",
1757
        "lpread",
1758
        "lpreson",
1759
        "lpshold",
1760
        "lpsholdp",
1761
        "lpslot",
1762
        "lua_exec",
1763
        "lua_iaopcall",
1764
        "lua_iaopcall_off",
1765
        "lua_ikopcall",
1766
        "lua_ikopcall_off",
1767
        "lua_iopcall",
1768
        "lua_iopcall_off",
1769
        "lua_opdef",
1770
        "mac",
1771
        "maca",
1772
        "madsr",
1773
        "mags",
1774
        "mandel",
1775
        "mandol",
1776
        "maparray",
1777
        "maparray_i",
1778
        "marimba",
1779
        "massign",
1780
        "max",
1781
        "max_k",
1782
        "maxabs",
1783
        "maxabsaccum",
1784
        "maxaccum",
1785
        "maxalloc",
1786
        "maxarray",
1787
        "mclock",
1788
        "mdelay",
1789
        "median",
1790
        "mediank",
1791
        "metro",
1792
        "metro2",
1793
        "mfb",
1794
        "midglobal",
1795
        "midiarp",
1796
        "midic14",
1797
        "midic21",
1798
        "midic7",
1799
        "midichannelaftertouch",
1800
        "midichn",
1801
        "midicontrolchange",
1802
        "midictrl",
1803
        "mididefault",
1804
        "midifilestatus",
1805
        "midiin",
1806
        "midinoteoff",
1807
        "midinoteoncps",
1808
        "midinoteonkey",
1809
        "midinoteonoct",
1810
        "midinoteonpch",
1811
        "midion",
1812
        "midion2",
1813
        "midiout",
1814
        "midiout_i",
1815
        "midipgm",
1816
        "midipitchbend",
1817
        "midipolyaftertouch",
1818
        "midiprogramchange",
1819
        "miditempo",
1820
        "midremot",
1821
        "min",
1822
        "minabs",
1823
        "minabsaccum",
1824
        "minaccum",
1825
        "minarray",
1826
        "mincer",
1827
        "mirror",
1828
        "mode",
1829
        "modmatrix",
1830
        "monitor",
1831
        "moog",
1832
        "moogladder",
1833
        "moogladder2",
1834
        "moogvcf",
1835
        "moogvcf2",
1836
        "moscil",
1837
        "mp3bitrate",
1838
        "mp3in",
1839
        "mp3len",
1840
        "mp3nchnls",
1841
        "mp3scal",
1842
        "mp3sr",
1843
        "mpulse",
1844
        "mrtmsg",
1845
        "mtof",
1846
        "mton",
1847
        "multitap",
1848
        "mute",
1849
        "mvchpf",
1850
        "mvclpf1",
1851
        "mvclpf2",
1852
        "mvclpf3",
1853
        "mvclpf4",
1854
        "mxadsr",
1855
        "nchnls_hw",
1856
        "nestedap",
1857
        "nlalp",
1858
        "nlfilt",
1859
        "nlfilt2",
1860
        "noise",
1861
        "noteoff",
1862
        "noteon",
1863
        "noteondur",
1864
        "noteondur2",
1865
        "notnum",
1866
        "nreverb",
1867
        "nrpn",
1868
        "nsamp",
1869
        "nstance",
1870
        "nstrnum",
1871
        "nstrstr",
1872
        "ntof",
1873
        "ntom",
1874
        "ntrpol",
1875
        "nxtpow2",
1876
        "octave",
1877
        "octcps",
1878
        "octmidi",
1879
        "octmidib",
1880
        "octmidinn",
1881
        "octpch",
1882
        "olabuffer",
1883
        "oscbnk",
1884
        "oscil",
1885
        "oscil1",
1886
        "oscil1i",
1887
        "oscil3",
1888
        "oscili",
1889
        "oscilikt",
1890
        "osciliktp",
1891
        "oscilikts",
1892
        "osciln",
1893
        "oscils",
1894
        "oscilx",
1895
        "out",
1896
        "out32",
1897
        "outc",
1898
        "outch",
1899
        "outh",
1900
        "outiat",
1901
        "outic",
1902
        "outic14",
1903
        "outipat",
1904
        "outipb",
1905
        "outipc",
1906
        "outkat",
1907
        "outkc",
1908
        "outkc14",
1909
        "outkpat",
1910
        "outkpb",
1911
        "outkpc",
1912
        "outleta",
1913
        "outletf",
1914
        "outletk",
1915
        "outletkid",
1916
        "outletv",
1917
        "outo",
1918
        "outq",
1919
        "outq1",
1920
        "outq2",
1921
        "outq3",
1922
        "outq4",
1923
        "outrg",
1924
        "outs",
1925
        "outs1",
1926
        "outs2",
1927
        "outvalue",
1928
        "outx",
1929
        "outz",
1930
        "p",
1931
        "p5gconnect",
1932
        "p5gdata",
1933
        "pan",
1934
        "pan2",
1935
        "pareq",
1936
        "part2txt",
1937
        "partials",
1938
        "partikkel",
1939
        "partikkelget",
1940
        "partikkelset",
1941
        "partikkelsync",
1942
        "passign",
1943
        "paulstretch",
1944
        "pcauchy",
1945
        "pchbend",
1946
        "pchmidi",
1947
        "pchmidib",
1948
        "pchmidinn",
1949
        "pchoct",
1950
        "pchtom",
1951
        "pconvolve",
1952
        "pcount",
1953
        "pdclip",
1954
        "pdhalf",
1955
        "pdhalfy",
1956
        "peak",
1957
        "pgmassign",
1958
        "pgmchn",
1959
        "phaser1",
1960
        "phaser2",
1961
        "phasor",
1962
        "phasorbnk",
1963
        "phs",
1964
        "pindex",
1965
        "pinker",
1966
        "pinkish",
1967
        "pitch",
1968
        "pitchac",
1969
        "pitchamdf",
1970
        "planet",
1971
        "platerev",
1972
        "plltrack",
1973
        "pluck",
1974
        "poisson",
1975
        "pol2rect",
1976
        "polyaft",
1977
        "polynomial",
1978
        "port",
1979
        "portk",
1980
        "poscil",
1981
        "poscil3",
1982
        "pow",
1983
        "powershape",
1984
        "powoftwo",
1985
        "pows",
1986
        "prealloc",
1987
        "prepiano",
1988
        "print",
1989
        "print_type",
1990
        "printarray",
1991
        "printf",
1992
        "printf_i",
1993
        "printk",
1994
        "printk2",
1995
        "printks",
1996
        "printks2",
1997
        "prints",
1998
        "product",
1999
        "pset",
2000
        "ptable",
2001
        "ptable3",
2002
        "ptablei",
2003
        "ptablew",
2004
        "ptrack",
2005
        "puts",
2006
        "pvadd",
2007
        "pvbufread",
2008
        "pvcross",
2009
        "pvinterp",
2010
        "pvoc",
2011
        "pvread",
2012
        "pvs2array",
2013
        "pvs2tab",
2014
        "pvsadsyn",
2015
        "pvsanal",
2016
        "pvsarp",
2017
        "pvsbandp",
2018
        "pvsbandr",
2019
        "pvsbin",
2020
        "pvsblur",
2021
        "pvsbuffer",
2022
        "pvsbufread",
2023
        "pvsbufread2",
2024
        "pvscale",
2025
        "pvscent",
2026
        "pvsceps",
2027
        "pvscross",
2028
        "pvsdemix",
2029
        "pvsdiskin",
2030
        "pvsdisp",
2031
        "pvsenvftw",
2032
        "pvsfilter",
2033
        "pvsfread",
2034
        "pvsfreeze",
2035
        "pvsfromarray",
2036
        "pvsftr",
2037
        "pvsftw",
2038
        "pvsfwrite",
2039
        "pvsgain",
2040
        "pvshift",
2041
        "pvsifd",
2042
        "pvsin",
2043
        "pvsinfo",
2044
        "pvsinit",
2045
        "pvslock",
2046
        "pvsmaska",
2047
        "pvsmix",
2048
        "pvsmooth",
2049
        "pvsmorph",
2050
        "pvsosc",
2051
        "pvsout",
2052
        "pvspitch",
2053
        "pvstanal",
2054
        "pvstencil",
2055
        "pvstrace",
2056
        "pvsvoc",
2057
        "pvswarp",
2058
        "pvsynth",
2059
        "pwd",
2060
        "pyassign",
2061
        "pyassigni",
2062
        "pyassignt",
2063
        "pycall",
2064
        "pycall1",
2065
        "pycall1i",
2066
        "pycall1t",
2067
        "pycall2",
2068
        "pycall2i",
2069
        "pycall2t",
2070
        "pycall3",
2071
        "pycall3i",
2072
        "pycall3t",
2073
        "pycall4",
2074
        "pycall4i",
2075
        "pycall4t",
2076
        "pycall5",
2077
        "pycall5i",
2078
        "pycall5t",
2079
        "pycall6",
2080
        "pycall6i",
2081
        "pycall6t",
2082
        "pycall7",
2083
        "pycall7i",
2084
        "pycall7t",
2085
        "pycall8",
2086
        "pycall8i",
2087
        "pycall8t",
2088
        "pycalli",
2089
        "pycalln",
2090
        "pycallni",
2091
        "pycallt",
2092
        "pyeval",
2093
        "pyevali",
2094
        "pyevalt",
2095
        "pyexec",
2096
        "pyexeci",
2097
        "pyexect",
2098
        "pyinit",
2099
        "pylassign",
2100
        "pylassigni",
2101
        "pylassignt",
2102
        "pylcall",
2103
        "pylcall1",
2104
        "pylcall1i",
2105
        "pylcall1t",
2106
        "pylcall2",
2107
        "pylcall2i",
2108
        "pylcall2t",
2109
        "pylcall3",
2110
        "pylcall3i",
2111
        "pylcall3t",
2112
        "pylcall4",
2113
        "pylcall4i",
2114
        "pylcall4t",
2115
        "pylcall5",
2116
        "pylcall5i",
2117
        "pylcall5t",
2118
        "pylcall6",
2119
        "pylcall6i",
2120
        "pylcall6t",
2121
        "pylcall7",
2122
        "pylcall7i",
2123
        "pylcall7t",
2124
        "pylcall8",
2125
        "pylcall8i",
2126
        "pylcall8t",
2127
        "pylcalli",
2128
        "pylcalln",
2129
        "pylcallni",
2130
        "pylcallt",
2131
        "pyleval",
2132
        "pylevali",
2133
        "pylevalt",
2134
        "pylexec",
2135
        "pylexeci",
2136
        "pylexect",
2137
        "pylrun",
2138
        "pylruni",
2139
        "pylrunt",
2140
        "pyrun",
2141
        "pyruni",
2142
        "pyrunt",
2143
        "qinf",
2144
        "qnan",
2145
        "r2c",
2146
        "rand",
2147
        "randc",
2148
        "randh",
2149
        "randi",
2150
        "random",
2151
        "randomh",
2152
        "randomi",
2153
        "rbjeq",
2154
        "readclock",
2155
        "readf",
2156
        "readfi",
2157
        "readk",
2158
        "readk2",
2159
        "readk3",
2160
        "readk4",
2161
        "readks",
2162
        "readscore",
2163
        "readscratch",
2164
        "rect2pol",
2165
        "release",
2166
        "remoteport",
2167
        "remove",
2168
        "repluck",
2169
        "reshapearray",
2170
        "reson",
2171
        "resonk",
2172
        "resonr",
2173
        "resonx",
2174
        "resonxk",
2175
        "resony",
2176
        "resonz",
2177
        "resyn",
2178
        "reverb",
2179
        "reverb2",
2180
        "reverbsc",
2181
        "rewindscore",
2182
        "rezzy",
2183
        "rfft",
2184
        "rifft",
2185
        "rms",
2186
        "rnd",
2187
        "rnd31",
2188
        "round",
2189
        "rspline",
2190
        "rtclock",
2191
        "s16b14",
2192
        "s32b14",
2193
        "samphold",
2194
        "sandpaper",
2195
        "sc_lag",
2196
        "sc_lagud",
2197
        "sc_phasor",
2198
        "sc_trig",
2199
        "scale",
2200
        "scalearray",
2201
        "scanhammer",
2202
        "scans",
2203
        "scantable",
2204
        "scanu",
2205
        "schedkwhen",
2206
        "schedkwhennamed",
2207
        "schedule",
2208
        "schedulek",
2209
        "schedwhen",
2210
        "scoreline",
2211
        "scoreline_i",
2212
        "seed",
2213
        "sekere",
2214
        "select",
2215
        "semitone",
2216
        "sense",
2217
        "sensekey",
2218
        "seqtime",
2219
        "seqtime2",
2220
        "serialBegin",
2221
        "serialEnd",
2222
        "serialFlush",
2223
        "serialPrint",
2224
        "serialRead",
2225
        "serialWrite",
2226
        "serialWrite_i",
2227
        "setcol",
2228
        "setctrl",
2229
        "setksmps",
2230
        "setrow",
2231
        "setscorepos",
2232
        "sfilist",
2233
        "sfinstr",
2234
        "sfinstr3",
2235
        "sfinstr3m",
2236
        "sfinstrm",
2237
        "sfload",
2238
        "sflooper",
2239
        "sfpassign",
2240
        "sfplay",
2241
        "sfplay3",
2242
        "sfplay3m",
2243
        "sfplaym",
2244
        "sfplist",
2245
        "sfpreset",
2246
        "shaker",
2247
        "shiftin",
2248
        "shiftout",
2249
        "signum",
2250
        "sin",
2251
        "sinh",
2252
        "sininv",
2253
        "sinsyn",
2254
        "sleighbells",
2255
        "slicearray",
2256
        "slicearray_i",
2257
        "slider16",
2258
        "slider16f",
2259
        "slider16table",
2260
        "slider16tablef",
2261
        "slider32",
2262
        "slider32f",
2263
        "slider32table",
2264
        "slider32tablef",
2265
        "slider64",
2266
        "slider64f",
2267
        "slider64table",
2268
        "slider64tablef",
2269
        "slider8",
2270
        "slider8f",
2271
        "slider8table",
2272
        "slider8tablef",
2273
        "sliderKawai",
2274
        "sndloop",
2275
        "sndwarp",
2276
        "sndwarpst",
2277
        "sockrecv",
2278
        "sockrecvs",
2279
        "socksend",
2280
        "socksends",
2281
        "sorta",
2282
        "sortd",
2283
        "soundin",
2284
        "space",
2285
        "spat3d",
2286
        "spat3di",
2287
        "spat3dt",
2288
        "spdist",
2289
        "splitrig",
2290
        "sprintf",
2291
        "sprintfk",
2292
        "spsend",
2293
        "sqrt",
2294
        "squinewave",
2295
        "statevar",
2296
        "stix",
2297
        "strcat",
2298
        "strcatk",
2299
        "strchar",
2300
        "strchark",
2301
        "strcmp",
2302
        "strcmpk",
2303
        "strcpy",
2304
        "strcpyk",
2305
        "strecv",
2306
        "streson",
2307
        "strfromurl",
2308
        "strget",
2309
        "strindex",
2310
        "strindexk",
2311
        "string2array",
2312
        "strlen",
2313
        "strlenk",
2314
        "strlower",
2315
        "strlowerk",
2316
        "strrindex",
2317
        "strrindexk",
2318
        "strset",
2319
        "strstrip",
2320
        "strsub",
2321
        "strsubk",
2322
        "strtod",
2323
        "strtodk",
2324
        "strtol",
2325
        "strtolk",
2326
        "strupper",
2327
        "strupperk",
2328
        "stsend",
2329
        "subinstr",
2330
        "subinstrinit",
2331
        "sum",
2332
        "sumarray",
2333
        "svfilter",
2334
        "syncgrain",
2335
        "syncloop",
2336
        "syncphasor",
2337
        "system",
2338
        "system_i",
2339
        "tab",
2340
        "tab2array",
2341
        "tab2pvs",
2342
        "tab_i",
2343
        "tabifd",
2344
        "table",
2345
        "table3",
2346
        "table3kt",
2347
        "tablecopy",
2348
        "tablefilter",
2349
        "tablefilteri",
2350
        "tablegpw",
2351
        "tablei",
2352
        "tableicopy",
2353
        "tableigpw",
2354
        "tableikt",
2355
        "tableimix",
2356
        "tablekt",
2357
        "tablemix",
2358
        "tableng",
2359
        "tablera",
2360
        "tableseg",
2361
        "tableshuffle",
2362
        "tableshufflei",
2363
        "tablew",
2364
        "tablewa",
2365
        "tablewkt",
2366
        "tablexkt",
2367
        "tablexseg",
2368
        "tabmorph",
2369
        "tabmorpha",
2370
        "tabmorphak",
2371
        "tabmorphi",
2372
        "tabplay",
2373
        "tabrec",
2374
        "tabrowlin",
2375
        "tabsum",
2376
        "tabw",
2377
        "tabw_i",
2378
        "tambourine",
2379
        "tan",
2380
        "tanh",
2381
        "taninv",
2382
        "taninv2",
2383
        "tbvcf",
2384
        "tempest",
2385
        "tempo",
2386
        "temposcal",
2387
        "tempoval",
2388
        "timedseq",
2389
        "timeinstk",
2390
        "timeinsts",
2391
        "timek",
2392
        "times",
2393
        "tival",
2394
        "tlineto",
2395
        "tone",
2396
        "tonek",
2397
        "tonex",
2398
        "tradsyn",
2399
        "trandom",
2400
        "transeg",
2401
        "transegb",
2402
        "transegr",
2403
        "trcross",
2404
        "trfilter",
2405
        "trhighest",
2406
        "trigger",
2407
        "trigseq",
2408
        "trim",
2409
        "trim_i",
2410
        "trirand",
2411
        "trlowest",
2412
        "trmix",
2413
        "trscale",
2414
        "trshift",
2415
        "trsplit",
2416
        "turnoff",
2417
        "turnoff2",
2418
        "turnon",
2419
        "tvconv",
2420
        "unirand",
2421
        "unwrap",
2422
        "upsamp",
2423
        "urandom",
2424
        "urd",
2425
        "vactrol",
2426
        "vadd",
2427
        "vadd_i",
2428
        "vaddv",
2429
        "vaddv_i",
2430
        "vaget",
2431
        "valpass",
2432
        "vaset",
2433
        "vbap",
2434
        "vbapg",
2435
        "vbapgmove",
2436
        "vbaplsinit",
2437
        "vbapmove",
2438
        "vbapz",
2439
        "vbapzmove",
2440
        "vcella",
2441
        "vco",
2442
        "vco2",
2443
        "vco2ft",
2444
        "vco2ift",
2445
        "vco2init",
2446
        "vcomb",
2447
        "vcopy",
2448
        "vcopy_i",
2449
        "vdel_k",
2450
        "vdelay",
2451
        "vdelay3",
2452
        "vdelayk",
2453
        "vdelayx",
2454
        "vdelayxq",
2455
        "vdelayxs",
2456
        "vdelayxw",
2457
        "vdelayxwq",
2458
        "vdelayxws",
2459
        "vdivv",
2460
        "vdivv_i",
2461
        "vecdelay",
2462
        "veloc",
2463
        "vexp",
2464
        "vexp_i",
2465
        "vexpseg",
2466
        "vexpv",
2467
        "vexpv_i",
2468
        "vibes",
2469
        "vibr",
2470
        "vibrato",
2471
        "vincr",
2472
        "vlimit",
2473
        "vlinseg",
2474
        "vlowres",
2475
        "vmap",
2476
        "vmirror",
2477
        "vmult",
2478
        "vmult_i",
2479
        "vmultv",
2480
        "vmultv_i",
2481
        "voice",
2482
        "vosim",
2483
        "vphaseseg",
2484
        "vport",
2485
        "vpow",
2486
        "vpow_i",
2487
        "vpowv",
2488
        "vpowv_i",
2489
        "vpvoc",
2490
        "vrandh",
2491
        "vrandi",
2492
        "vsubv",
2493
        "vsubv_i",
2494
        "vtaba",
2495
        "vtabi",
2496
        "vtabk",
2497
        "vtable1k",
2498
        "vtablea",
2499
        "vtablei",
2500
        "vtablek",
2501
        "vtablewa",
2502
        "vtablewi",
2503
        "vtablewk",
2504
        "vtabwa",
2505
        "vtabwi",
2506
        "vtabwk",
2507
        "vwrap",
2508
        "waveset",
2509
        "websocket",
2510
        "weibull",
2511
        "wgbow",
2512
        "wgbowedbar",
2513
        "wgbrass",
2514
        "wgclar",
2515
        "wgflute",
2516
        "wgpluck",
2517
        "wgpluck2",
2518
        "wguide1",
2519
        "wguide2",
2520
        "wiiconnect",
2521
        "wiidata",
2522
        "wiirange",
2523
        "wiisend",
2524
        "window",
2525
        "wrap",
2526
        "writescratch",
2527
        "wterrain",
2528
        "xadsr",
2529
        "xin",
2530
        "xout",
2531
        "xscanmap",
2532
        "xscans",
2533
        "xscansmap",
2534
        "xscanu",
2535
        "xtratim",
2536
        "xyscale",
2537
        "zacl",
2538
        "zakinit",
2539
        "zamod",
2540
        "zar",
2541
        "zarg",
2542
        "zaw",
2543
        "zawm",
2544
        "zdf_1pole",
2545
        "zdf_1pole_mode",
2546
        "zdf_2pole",
2547
        "zdf_2pole_mode",
2548
        "zdf_ladder",
2549
        "zfilter2",
2550
        "zir",
2551
        "ziw",
2552
        "ziwm",
2553
        "zkcl",
2554
        "zkmod",
2555
        "zkr",
2556
        "zkw",
2557
        "zkwm"
2558
    ];
2559
    var deprecatedOpcodes = [
2560
        "array",
2561
        "bformdec",
2562
        "bformenc",
2563
        "changed",
2564
        "copy2ftab",
2565
        "copy2ttab",
2566
        "hrtfer",
2567
        "ktableseg",
2568
        "lentab",
2569
        "maxtab",
2570
        "mintab",
2571
        "pop",
2572
        "pop_f",
2573
        "ptableiw",
2574
        "push",
2575
        "push_f",
2576
        "scalet",
2577
        "sndload",
2578
        "soundout",
2579
        "soundouts",
2580
        "specaddm",
2581
        "specdiff",
2582
        "specdisp",
2583
        "specfilt",
2584
        "spechist",
2585
        "specptrk",
2586
        "specscal",
2587
        "specsum",
2588
        "spectrum",
2589
        "stack",
2590
        "sumtab",
2591
        "tabgen",
2592
        "tableiw",
2593
        "tabmap",
2594
        "tabmap_i",
2595
        "tabslice",
2596
        "tb0",
2597
        "tb0_init",
2598
        "tb1",
2599
        "tb10",
2600
        "tb10_init",
2601
        "tb11",
2602
        "tb11_init",
2603
        "tb12",
2604
        "tb12_init",
2605
        "tb13",
2606
        "tb13_init",
2607
        "tb14",
2608
        "tb14_init",
2609
        "tb15",
2610
        "tb15_init",
2611
        "tb1_init",
2612
        "tb2",
2613
        "tb2_init",
2614
        "tb3",
2615
        "tb3_init",
2616
        "tb4",
2617
        "tb4_init",
2618
        "tb5",
2619
        "tb5_init",
2620
        "tb6",
2621
        "tb6_init",
2622
        "tb7",
2623
        "tb7_init",
2624
        "tb8",
2625
        "tb8_init",
2626
        "tb9",
2627
        "tb9_init",
2628
        "vbap16",
2629
        "vbap4",
2630
        "vbap4move",
2631
        "vbap8",
2632
        "vbap8move",
2633
        "xyin"
2634
    ];
2635

    
2636
    opcodes = lang.arrayToMap(opcodes);
2637
    deprecatedOpcodes = lang.arrayToMap(deprecatedOpcodes);
2638

    
2639
    this.lineContinuations = [
2640
        {
2641
            token : "constant.character.escape.line-continuation.csound",
2642
            regex : /\\$/
2643
        }, this.pushRule({
2644
            token : "constant.character.escape.line-continuation.csound",
2645
            regex : /\\/,
2646
            next  : "line continuation"
2647
        })
2648
    ];
2649

    
2650
    this.comments.push(this.lineContinuations);
2651

    
2652
    this.quotedStringContents.push(
2653
        this.lineContinuations,
2654
        {
2655
            token : "invalid.illegal",
2656
            regex : /[^"\\]*$/
2657
        }
2658
    );
2659

    
2660
    var start = this.$rules.start;
2661
    start.splice(1, 0, {
2662
        token : ["text.csound", "entity.name.label.csound", "entity.punctuation.label.csound", "text.csound"],
2663
        regex : /^([ \t]*)(\w+)(:)([ \t]+|$)/
2664
    });
2665
    start.push(
2666
        this.pushRule({
2667
            token : "keyword.function.csound",
2668
            regex : /\binstr\b/,
2669
            next  : "instrument numbers and identifiers"
2670
        }), this.pushRule({
2671
            token : "keyword.function.csound",
2672
            regex : /\bopcode\b/,
2673
            next  : "after opcode keyword"
2674
        }), {
2675
            token : "keyword.other.csound",
2676
            regex : /\bend(?:in|op)\b/
2677
        },
2678

    
2679
        {
2680
            token : "variable.language.csound",
2681
            regex : /\b(?:0dbfs|A4|k(?:r|smps)|nchnls(?:_i)?|sr)\b/
2682
        },
2683

    
2684
        this.numbers,
2685

    
2686
        {
2687
            token : "keyword.operator.csound",
2688
            regex : "\\+=|-=|\\*=|/=|<<|>>|<=|>=|==|!=|&&|\\|\\||[~¬]|[=!+\\-*/^%&|<>#?:]"
2689
        },
2690

    
2691
        this.pushRule({
2692
            token : "punctuation.definition.string.begin.csound",
2693
            regex : /"/,
2694
            next  : "quoted string"
2695
        }), this.pushRule({
2696
            token : "punctuation.definition.string.begin.csound",
2697
            regex : /{{/,
2698
            next  : "braced string"
2699
        }),
2700

    
2701
        {
2702
            token : "keyword.control.csound",
2703
            regex : /\b(?:do|else(?:if)?|end(?:if|until)|fi|i(?:f|then)|kthen|od|r(?:ir)?eturn|then|until|while)\b/
2704
        },
2705

    
2706
        this.pushRule({
2707
            token : "keyword.control.csound",
2708
            regex : /\b[ik]?goto\b/,
2709
            next  : "goto before label"
2710
        }), this.pushRule({
2711
            token : "keyword.control.csound",
2712
            regex : /\b(?:r(?:einit|igoto)|tigoto)\b/,
2713
            next  : "goto before label"
2714
        }), this.pushRule({
2715
            token : "keyword.control.csound",
2716
            regex : /\bc(?:g|in?|k|nk?)goto\b/,
2717
            next  : ["goto before label", "goto before argument"]
2718
        }), this.pushRule({
2719
            token : "keyword.control.csound",
2720
            regex : /\btimout\b/,
2721
            next  : ["goto before label", "goto before argument", "goto before argument"]
2722
        }), this.pushRule({
2723
            token : "keyword.control.csound",
2724
            regex : /\bloop_[gl][et]\b/,
2725
            next  : ["goto before label", "goto before argument", "goto before argument", "goto before argument"]
2726
        }),
2727

    
2728
        this.pushRule({
2729
            token : "support.function.csound",
2730
            regex : /\b(?:readscore|scoreline(?:_i)?)\b/,
2731
            next  : "Csound score opcode"
2732
        }), this.pushRule({
2733
            token : "support.function.csound",
2734
            regex : /\bpyl?run[it]?\b(?!$)/,
2735
            next  : "Python opcode"
2736
        }), this.pushRule({
2737
            token : "support.function.csound",
2738
            regex : /\blua_(?:exec|opdef)\b(?!$)/,
2739
            next  : "Lua opcode"
2740
        }),
2741

    
2742
        {
2743
            token : "support.variable.csound",
2744
            regex : /\bp\d+\b/
2745
        }, {
2746
            regex : /\b([A-Z_a-z]\w*)(?:(:)([A-Za-z]))?\b/, onMatch: function(value, currentState, stack, line) {
2747
                var tokens = value.split(this.splitRegex);
2748
                var name = tokens[1];
2749
                var type;
2750
                if (opcodes.hasOwnProperty(name))
2751
                    type = "support.function.csound";
2752
                else if (deprecatedOpcodes.hasOwnProperty(name))
2753
                    type = "invalid.deprecated.csound";
2754
                if (type) {
2755
                    if (tokens[2]) {
2756
                        return [
2757
                            {type: type, value: name},
2758
                            {type: "punctuation.type-annotation.csound", value: tokens[2]},
2759
                            {type: "type-annotation.storage.type.csound", value: tokens[3]}
2760
                        ];
2761
                    }
2762
                    return type;
2763
                }
2764
                return "text.csound";
2765
            }
2766
        }
2767
    );
2768

    
2769
    this.$rules["macro parameter value list"].splice(2, 0, {
2770
        token : "punctuation.definition.string.begin.csound",
2771
        regex : /{{/,
2772
        next  : "macro parameter value braced string"
2773
    });
2774

    
2775
    var scoreHighlightRules = new CsoundScoreHighlightRules("csound-score-");
2776

    
2777
    this.addRules({
2778
        "macro parameter value braced string": [
2779
            {
2780
                token : "constant.character.escape.csound",
2781
                regex : /\\[#'()]/
2782
            }, {
2783
                token : "invalid.illegal.csound.csound",
2784
                regex : /[#'()]/
2785
            }, {
2786
                token : "punctuation.definition.string.end.csound",
2787
                regex : /}}/,
2788
                next  : "macro parameter value list"
2789
            }, {
2790
                defaultToken: "string.braced.csound"
2791
            }
2792
        ],
2793

    
2794
        "instrument numbers and identifiers": [
2795
            this.comments,
2796
            {
2797
                token : "entity.name.function.csound",
2798
                regex : /\d+|[A-Z_a-z]\w*/
2799
            }, this.popRule({
2800
                token : "empty",
2801
                regex : /$/
2802
            })
2803
        ],
2804

    
2805
        "after opcode keyword": [
2806
            this.comments,
2807
            this.popRule({
2808
                token : "empty",
2809
                regex : /$/
2810
            }), this.popRule({
2811
                token : "entity.name.function.opcode.csound",
2812
                regex : /[A-Z_a-z]\w*/,
2813
                next  : "opcode type signatures"
2814
            })
2815
        ],
2816
        "opcode type signatures": [
2817
            this.comments,
2818
            this.popRule({
2819
                token : "empty",
2820
                regex : /$/
2821
            }), {
2822
                token : "storage.type.csound",
2823
                regex : /\b(?:0|[afijkKoOpPStV\[\]]+)/
2824
            }
2825
        ],
2826

    
2827
        "quoted string": [
2828
            this.popRule({
2829
                token : "punctuation.definition.string.end.csound",
2830
                regex : /"/
2831
            }),
2832
            this.quotedStringContents,
2833
            {
2834
                defaultToken: "string.quoted.csound"
2835
            }
2836
        ],
2837
        "braced string": [
2838
            this.popRule({
2839
                token : "punctuation.definition.string.end.csound",
2840
                regex : /}}/
2841
            }),
2842
            this.bracedStringContents,
2843
            {
2844
                defaultToken: "string.braced.csound"
2845
            }
2846
        ],
2847

    
2848
        "goto before argument": [
2849
            this.popRule({
2850
                token : "text.csound",
2851
                regex : /,/
2852
            }),
2853
            start
2854
        ],
2855
        "goto before label": [
2856
            {
2857
                token : "text.csound",
2858
                regex : /\s+/
2859
            },
2860
            this.comments,
2861
            this.popRule({
2862
                token : "entity.name.label.csound",
2863
                regex : /\w+/
2864
            }), this.popRule({
2865
                token : "empty",
2866
                regex : /(?!\w)/
2867
            })
2868
        ],
2869

    
2870
        "Csound score opcode": [
2871
            this.comments,
2872
            {
2873
                token : "punctuation.definition.string.begin.csound",
2874
                regex : /{{/,
2875
                next  : scoreHighlightRules.embeddedRulePrefix + "start"
2876
            }, this.popRule({
2877
                token : "empty",
2878
                regex : /$/
2879
            })
2880
        ],
2881

    
2882
        "Python opcode": [
2883
            this.comments,
2884
            {
2885
                token : "punctuation.definition.string.begin.csound",
2886
                regex : /{{/,
2887
                next  : "python-start"
2888
            }, this.popRule({
2889
                token : "empty",
2890
                regex : /$/
2891
            })
2892
        ],
2893

    
2894
        "Lua opcode": [
2895
            this.comments,
2896
            {
2897
                token : "punctuation.definition.string.begin.csound",
2898
                regex : /{{/,
2899
                next  : "lua-start"
2900
            }, this.popRule({
2901
                token : "empty",
2902
                regex : /$/
2903
            })
2904
        ],
2905

    
2906
        "line continuation": [
2907
            this.popRule({
2908
                token : "empty",
2909
                regex : /$/
2910
            }),
2911
            this.semicolonComments,
2912
            {
2913
                token : "invalid.illegal.csound",
2914
                regex : /\S.*/
2915
            }
2916
        ]
2917
    });
2918

    
2919
    var rules = [
2920
        this.popRule({
2921
            token : "punctuation.definition.string.end.csound",
2922
            regex : /}}/
2923
        })
2924
    ];
2925
    this.embedRules(scoreHighlightRules.getRules(), scoreHighlightRules.embeddedRulePrefix, rules);
2926
    this.embedRules(PythonHighlightRules, "python-", rules);
2927
    this.embedRules(LuaHighlightRules, "lua-", rules);
2928

    
2929
    this.normalizeRules();
2930
};
2931

    
2932
oop.inherits(CsoundOrchestraHighlightRules, CsoundPreprocessorHighlightRules);
2933

    
2934
exports.CsoundOrchestraHighlightRules = CsoundOrchestraHighlightRules;
2935
});
2936

    
2937
ace.define("ace/mode/csound_orchestra",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/csound_orchestra_highlight_rules"], function(require, exports, module) {
2938
"use strict";
2939

    
2940
var oop = require("../lib/oop");
2941
var TextMode = require("./text").Mode;
2942
var CsoundOrchestraHighlightRules = require("./csound_orchestra_highlight_rules").CsoundOrchestraHighlightRules;
2943

    
2944
var Mode = function() {
2945
    this.HighlightRules = CsoundOrchestraHighlightRules;
2946
};
2947
oop.inherits(Mode, TextMode);
2948

    
2949
(function() {
2950

    
2951
    this.lineCommentStart = ";";
2952
    this.blockComment = {start: "/*", end: "*/"};
2953

    
2954
    this.$id = "ace/mode/csound_orchestra";
2955
    this.snippetFileId = "ace/snippets/csound_orchestra";
2956
}).call(Mode.prototype);
2957

    
2958
exports.Mode = Mode;
2959
});                (function() {
2960
                    ace.require(["ace/mode/csound_orchestra"], function(m) {
2961
                        if (typeof module == "object" && typeof exports == "object" && module) {
2962
                            module.exports = m;
2963
                        }
2964
                    });
2965
                })();
2966
            
(51-51/244)