You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
929 B
23 lines
929 B
// https://qiskit.github.io/openqasm/grammar/index.html |
|
|
|
Prism.languages.openqasm = { |
|
'comment': /\/\*[\s\S]*?\*\/|\/\/.*/, |
|
'string': { |
|
pattern: /"[^"\r\n\t]*"|'[^'\r\n\t]*'/, |
|
greedy: true |
|
}, |
|
|
|
'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: true |
|
}, |
|
'operator': /->|>>=?|<<=?|&&|\|\||\+\+|--|[!=<>&|~^+\-*/%]=?|@/, |
|
'punctuation': /[(){}\[\];,:.]/ |
|
}; |
|
|
|
Prism.languages.qasm = Prism.languages.openqasm;
|
|
|