1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Prism.languages.apl = {
comment: /(?:⍝|#[! ]).*$/m,
string: { pattern: /'(?:[^'\r\n]|'')*'/, greedy: !0 },
number:
/¯?(?:\d*\.?\b\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+¯]?\d+)?|¯|∞))?/i,
statement: /:[A-Z][a-z][A-Za-z]*\b/,
'system-function': { pattern: /⎕[A-Z]+/i, alias: 'function' },
constant: /[⍬⌾#⎕⍞]/,
function: /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,
'monadic-operator': { pattern: /[\\\/⌿⍀¨⍨⌶&∥]/, alias: 'operator' },
'dyadic-operator': { pattern: /[.⍣⍠⍤∘⌸@⌺⍥]/, alias: 'operator' },
assignment: { pattern: /←/, alias: 'keyword' },
punctuation: /[\[;\]()◇⋄]/,
dfn: { pattern: /[{}⍺⍵⍶⍹∇⍫:]/, alias: 'builtin' },
};
|