2023-03-16 13:35:36 +05:30
|
|
|
Prism.languages.apl=
|
|
|
|
{comment:/(?:⍝|#[! ]).*$/m,
|
|
|
|
string:{pattern:/'(?:[^'\r\n]|'')*'/,greedy:!0},
|
|
|
|
number:/¯?(?:\d*\.?\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:\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"}
|
|
|
|
};
|