22 lines
1.7 KiB
JavaScript
Raw Normal View History

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"}
};