summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-openqasm.min.js
blob: 8c9f109fc2871b63d225e78e093d79436d36d945 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(Prism.languages.openqasm = {
  comment: /\/\*[\s\S]*?\*\/|\/\/.*/,
  string: { pattern: /"[^"\r\n\t]*"|'[^'\r\n\t]*'/, greedy: !0 },
  keyword:
    /\b(?:CX|OPENQASM|U|barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while)\b|#pragma\b/,
  'class-name':
    /\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\b/,
  function: /\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\b(?=\s*\()/,
  constant: /\b(?:euler|pi|tau)\b|π|𝜏|ℇ/,
  number: {
    pattern:
      /(^|[^.\w$])(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:dt|ns|us|µs|ms|s)?/i,
    lookbehind: !0,
  },
  operator: /->|>>=?|<<=?|&&|\|\||\+\+|--|[!=<>&|~^+\-*/%]=?|@/,
  punctuation: /[(){}\[\];,:.]/,
}),
  (Prism.languages.qasm = Prism.languages.openqasm);