qasm-ts 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/.github/workflows/draft-pdf.yml +24 -0
  2. package/CONTRIBUTING.md +3 -0
  3. package/LICENSE +201 -0
  4. package/dist/errors.js +9 -0
  5. package/dist/lexer.js +74 -0
  6. package/dist/main.js +82 -7
  7. package/dist/parser.js +71 -0
  8. package/dist/qasm2/ast.js +33 -0
  9. package/dist/qasm2/lexer.js +54 -1
  10. package/dist/qasm2/parser.js +51 -1
  11. package/dist/qasm2/token.js +30 -0
  12. package/dist/qasm3/lexer.js +59 -1
  13. package/dist/qasm3/parser.js +55 -2
  14. package/dist/qasm3/token.js +93 -10
  15. package/dist/version.js +17 -1
  16. package/docs/assets/hierarchy.js +1 -0
  17. package/docs/custom.css +3 -0
  18. package/docs/docs-readme.md +208 -0
  19. package/docs/index.html +17 -55
  20. package/docs/typedoc/assets/custom.css +3 -0
  21. package/docs/typedoc/assets/hierarchy.js +1 -0
  22. package/docs/{assets → typedoc/assets}/highlight.css +20 -20
  23. package/docs/{assets → typedoc/assets}/icons.js +1 -1
  24. package/docs/{assets → typedoc/assets}/icons.svg +1 -1
  25. package/docs/typedoc/assets/main.js +60 -0
  26. package/docs/typedoc/assets/navigation.js +1 -0
  27. package/docs/typedoc/assets/search.js +1 -0
  28. package/docs/typedoc/assets/style.css +1633 -0
  29. package/docs/typedoc/classes/Error_Handling.BadArgumentError.html +12 -0
  30. package/docs/typedoc/classes/Error_Handling.BadBarrierError.html +12 -0
  31. package/docs/typedoc/classes/Error_Handling.BadClassicalTypeError.html +12 -0
  32. package/docs/typedoc/classes/Error_Handling.BadConditionalError.html +12 -0
  33. package/docs/typedoc/classes/Error_Handling.BadCregError.html +12 -0
  34. package/docs/typedoc/classes/Error_Handling.BadEqualsError.html +12 -0
  35. package/docs/typedoc/classes/Error_Handling.BadExpressionError.html +12 -0
  36. package/docs/typedoc/classes/Error_Handling.BadGateError.html +12 -0
  37. package/docs/typedoc/classes/Error_Handling.BadIncludeError.html +12 -0
  38. package/docs/typedoc/classes/Error_Handling.BadLoopError.html +12 -0
  39. package/docs/typedoc/classes/Error_Handling.BadMeasurementError.html +12 -0
  40. package/docs/typedoc/classes/Error_Handling.BadParameterError.html +12 -0
  41. package/docs/typedoc/classes/Error_Handling.BadQregError.html +12 -0
  42. package/docs/typedoc/classes/Error_Handling.BadQuantumInstructionError.html +12 -0
  43. package/docs/typedoc/classes/Error_Handling.BadStringLiteralError.html +12 -0
  44. package/docs/typedoc/classes/Error_Handling.BadSubroutineError.html +12 -0
  45. package/docs/typedoc/classes/Error_Handling.MissingBraceError.html +12 -0
  46. package/docs/typedoc/classes/Error_Handling.MissingSemicolonError.html +12 -0
  47. package/docs/typedoc/classes/Error_Handling.UnsupportedOpenQASMVersionError.html +12 -0
  48. package/docs/typedoc/classes/Version_Management.OpenQASMVersion.html +16 -0
  49. package/docs/typedoc/classes/qasm2_ast.ApplyGate.html +6 -0
  50. package/docs/typedoc/classes/qasm2_ast.AstNode.html +3 -0
  51. package/docs/typedoc/classes/qasm2_ast.Barrier.html +5 -0
  52. package/docs/typedoc/classes/qasm2_ast.CReg.html +5 -0
  53. package/docs/typedoc/classes/qasm2_ast.Cos.html +3 -0
  54. package/docs/typedoc/classes/qasm2_ast.Divide.html +3 -0
  55. package/docs/typedoc/classes/qasm2_ast.Exp.html +3 -0
  56. package/docs/typedoc/classes/qasm2_ast.Gate.html +7 -0
  57. package/docs/typedoc/classes/qasm2_ast.Id.html +4 -0
  58. package/docs/typedoc/classes/qasm2_ast.If.html +6 -0
  59. package/docs/typedoc/classes/qasm2_ast.Include.html +4 -0
  60. package/docs/typedoc/classes/qasm2_ast.Ln.html +3 -0
  61. package/docs/typedoc/classes/qasm2_ast.Measure.html +7 -0
  62. package/docs/typedoc/classes/qasm2_ast.Minus.html +3 -0
  63. package/docs/typedoc/classes/qasm2_ast.NNInteger.html +4 -0
  64. package/docs/typedoc/classes/qasm2_ast.Opaque.html +6 -0
  65. package/docs/typedoc/classes/qasm2_ast.Pi.html +3 -0
  66. package/docs/typedoc/classes/qasm2_ast.Plus.html +3 -0
  67. package/docs/typedoc/classes/qasm2_ast.Power.html +3 -0
  68. package/docs/typedoc/classes/qasm2_ast.QReg.html +5 -0
  69. package/docs/typedoc/classes/qasm2_ast.Real.html +4 -0
  70. package/docs/typedoc/classes/qasm2_ast.Sin.html +3 -0
  71. package/docs/typedoc/classes/qasm2_ast.Sqrt.html +3 -0
  72. package/docs/typedoc/classes/qasm2_ast.Tan.html +3 -0
  73. package/docs/typedoc/classes/qasm2_ast.Times.html +3 -0
  74. package/docs/typedoc/classes/qasm2_ast.Variable.html +4 -0
  75. package/docs/typedoc/classes/qasm2_ast.Version.html +4 -0
  76. package/docs/typedoc/classes/qasm2_lexer.default.html +57 -0
  77. package/docs/typedoc/classes/qasm2_parser.default.html +93 -0
  78. package/docs/typedoc/classes/qasm3_ast.AliasStatement.html +5 -0
  79. package/docs/typedoc/classes/qasm3_ast.AngleType.html +4 -0
  80. package/docs/typedoc/classes/qasm3_ast.Arithmetic.html +6 -0
  81. package/docs/typedoc/classes/qasm3_ast.ArrayAccess.html +5 -0
  82. package/docs/typedoc/classes/qasm3_ast.ArrayDeclaration.html +7 -0
  83. package/docs/typedoc/classes/qasm3_ast.ArrayInitializer.html +4 -0
  84. package/docs/typedoc/classes/qasm3_ast.ArrayReference.html +5 -0
  85. package/docs/typedoc/classes/qasm3_ast.AssignmentStatement.html +5 -0
  86. package/docs/typedoc/classes/qasm3_ast.AstNode.html +3 -0
  87. package/docs/typedoc/classes/qasm3_ast.Binary.html +6 -0
  88. package/docs/typedoc/classes/qasm3_ast.BitType.html +4 -0
  89. package/docs/typedoc/classes/qasm3_ast.BitstringLiteral.html +4 -0
  90. package/docs/typedoc/classes/qasm3_ast.BoolType.html +3 -0
  91. package/docs/typedoc/classes/qasm3_ast.BooleanLiteral.html +4 -0
  92. package/docs/typedoc/classes/qasm3_ast.BoxDefinition.html +7 -0
  93. package/docs/typedoc/classes/qasm3_ast.BranchingStatement.html +8 -0
  94. package/docs/typedoc/classes/qasm3_ast.BreakStatement.html +3 -0
  95. package/docs/typedoc/classes/qasm3_ast.CalibrationGrammarDeclaration.html +6 -0
  96. package/docs/typedoc/classes/qasm3_ast.CaseStatement.html +5 -0
  97. package/docs/typedoc/classes/qasm3_ast.Cast.html +5 -0
  98. package/docs/typedoc/classes/qasm3_ast.ClassicalDeclaration.html +7 -0
  99. package/docs/typedoc/classes/qasm3_ast.ClassicalType.html +3 -0
  100. package/docs/typedoc/classes/qasm3_ast.ComplexType.html +6 -0
  101. package/docs/typedoc/classes/qasm3_ast.ContinueStatement.html +3 -0
  102. package/docs/typedoc/classes/qasm3_ast.DefaultStatement.html +4 -0
  103. package/docs/typedoc/classes/qasm3_ast.DurationLiteral.html +5 -0
  104. package/docs/typedoc/classes/qasm3_ast.DurationOf.html +4 -0
  105. package/docs/typedoc/classes/qasm3_ast.DurationType.html +3 -0
  106. package/docs/typedoc/classes/qasm3_ast.Euler.html +3 -0
  107. package/docs/typedoc/classes/qasm3_ast.Expression.html +3 -0
  108. package/docs/typedoc/classes/qasm3_ast.ExternSignature.html +8 -0
  109. package/docs/typedoc/classes/qasm3_ast.FloatLiteral.html +4 -0
  110. package/docs/typedoc/classes/qasm3_ast.FloatType.html +6 -0
  111. package/docs/typedoc/classes/qasm3_ast.ForLoopStatement.html +12 -0
  112. package/docs/typedoc/classes/qasm3_ast.HardwareQubit.html +5 -0
  113. package/docs/typedoc/classes/qasm3_ast.IODeclaration.html +5 -0
  114. package/docs/typedoc/classes/qasm3_ast.Identifier.html +4 -0
  115. package/docs/typedoc/classes/qasm3_ast.ImaginaryLiteral.html +4 -0
  116. package/docs/typedoc/classes/qasm3_ast.Include.html +6 -0
  117. package/docs/typedoc/classes/qasm3_ast.IndexSet.html +5 -0
  118. package/docs/typedoc/classes/qasm3_ast.IntType.html +4 -0
  119. package/docs/typedoc/classes/qasm3_ast.IntegerLiteral.html +4 -0
  120. package/docs/typedoc/classes/qasm3_ast.MathFunction.html +5 -0
  121. package/docs/typedoc/classes/qasm3_ast.NumericLiteral.html +4 -0
  122. package/docs/typedoc/classes/qasm3_ast.Parameters.html +4 -0
  123. package/docs/typedoc/classes/qasm3_ast.Pi.html +3 -0
  124. package/docs/typedoc/classes/qasm3_ast.ProgramBlock.html +7 -0
  125. package/docs/typedoc/classes/qasm3_ast.QuantumBarrier.html +6 -0
  126. package/docs/typedoc/classes/qasm3_ast.QuantumBlock.html +6 -0
  127. package/docs/typedoc/classes/qasm3_ast.QuantumDeclaration.html +8 -0
  128. package/docs/typedoc/classes/qasm3_ast.QuantumDelay.html +5 -0
  129. package/docs/typedoc/classes/qasm3_ast.QuantumGateCall.html +9 -0
  130. package/docs/typedoc/classes/qasm3_ast.QuantumGateDefinition.html +9 -0
  131. package/docs/typedoc/classes/qasm3_ast.QuantumGateModifier.html +5 -0
  132. package/docs/typedoc/classes/qasm3_ast.QuantumMeasurement.html +6 -0
  133. package/docs/typedoc/classes/qasm3_ast.QuantumMeasurementAssignment.html +8 -0
  134. package/docs/typedoc/classes/qasm3_ast.QuantumReset.html +4 -0
  135. package/docs/typedoc/classes/qasm3_ast.Range.html +6 -0
  136. package/docs/typedoc/classes/qasm3_ast.ReturnStatement.html +4 -0
  137. package/docs/typedoc/classes/qasm3_ast.SizeOf.html +5 -0
  138. package/docs/typedoc/classes/qasm3_ast.Statement.html +12 -0
  139. package/docs/typedoc/classes/qasm3_ast.StretchType.html +3 -0
  140. package/docs/typedoc/classes/qasm3_ast.SubroutineBlock.html +6 -0
  141. package/docs/typedoc/classes/qasm3_ast.SubroutineCall.html +5 -0
  142. package/docs/typedoc/classes/qasm3_ast.SubroutineDefinition.html +10 -0
  143. package/docs/typedoc/classes/qasm3_ast.SubscriptedIdentifier.html +5 -0
  144. package/docs/typedoc/classes/qasm3_ast.SwitchStatement.html +6 -0
  145. package/docs/typedoc/classes/qasm3_ast.Tau.html +3 -0
  146. package/docs/typedoc/classes/qasm3_ast.TrigFunction.html +5 -0
  147. package/docs/typedoc/classes/qasm3_ast.UIntType.html +4 -0
  148. package/docs/typedoc/classes/qasm3_ast.Unary.html +5 -0
  149. package/docs/typedoc/classes/qasm3_ast.Version.html +6 -0
  150. package/docs/typedoc/classes/qasm3_ast.WhileLoopStatement.html +6 -0
  151. package/docs/typedoc/classes/qasm3_lexer.default.html +71 -0
  152. package/docs/typedoc/classes/qasm3_parser.default.html +237 -0
  153. package/docs/typedoc/enums/Version_Management.OpenQASMMajorVersion.html +4 -0
  154. package/docs/typedoc/enums/qasm2_token.Token.html +42 -0
  155. package/docs/typedoc/enums/qasm3_ast.ArithmeticOp.html +9 -0
  156. package/docs/typedoc/enums/qasm3_ast.ArrayReferenceModifier.html +4 -0
  157. package/docs/typedoc/enums/qasm3_ast.BinaryOp.html +15 -0
  158. package/docs/typedoc/enums/qasm3_ast.DurationUnit.html +7 -0
  159. package/docs/typedoc/enums/qasm3_ast.IOModifier.html +4 -0
  160. package/docs/typedoc/enums/qasm3_ast.MathFunctionTypes.html +12 -0
  161. package/docs/typedoc/enums/qasm3_ast.QuantumGateModifierName.html +6 -0
  162. package/docs/typedoc/enums/qasm3_ast.TrigFunctionTypes.html +8 -0
  163. package/docs/typedoc/enums/qasm3_ast.UnaryOp.html +5 -0
  164. package/docs/typedoc/enums/qasm3_token.Token.html +113 -0
  165. package/docs/typedoc/functions/Lexing.lex.html +24 -0
  166. package/docs/typedoc/functions/Main_Functions.parseFile.html +13 -0
  167. package/docs/typedoc/functions/Main_Functions.parseString.html +19 -0
  168. package/docs/typedoc/functions/Parsing.parse.html +15 -0
  169. package/docs/typedoc/functions/qasm2_token.inverseLookup.html +3 -0
  170. package/docs/typedoc/functions/qasm2_token.lookup.html +4 -0
  171. package/docs/typedoc/functions/qasm2_token.notParam.html +3 -0
  172. package/docs/typedoc/functions/qasm3_token.inverseLookup.html +9 -0
  173. package/docs/typedoc/functions/qasm3_token.lookup.html +10 -0
  174. package/docs/typedoc/functions/qasm3_token.notParam.html +11 -0
  175. package/docs/typedoc/hierarchy.html +1 -0
  176. package/docs/typedoc/index.html +76 -0
  177. package/docs/typedoc/modules/Error_Handling.html +5 -0
  178. package/docs/typedoc/modules/Lexing.html +20 -0
  179. package/docs/typedoc/modules/Main_Functions.html +2 -0
  180. package/docs/typedoc/modules/Parsing.html +24 -0
  181. package/docs/typedoc/modules/Version_Management.html +8 -0
  182. package/docs/typedoc/modules/qasm2_ast.html +22 -0
  183. package/docs/typedoc/modules/qasm2_lexer.html +24 -0
  184. package/docs/typedoc/modules/qasm2_parser.html +21 -0
  185. package/docs/typedoc/modules/qasm2_token.html +15 -0
  186. package/docs/typedoc/modules/qasm3_ast.html +26 -0
  187. package/docs/typedoc/modules/qasm3_lexer.html +25 -0
  188. package/docs/typedoc/modules/qasm3_parser.html +25 -0
  189. package/docs/typedoc/modules/qasm3_token.html +15 -0
  190. package/docs/typedoc/modules.html +1 -0
  191. package/docs/typedoc/types/Error_Handling.ReturnErrorConstructor.html +2 -0
  192. package/docs/typedoc.json +47 -0
  193. package/package.json +6 -2
  194. package/paper/jats/paper.jats +464 -0
  195. package/paper/main.bib +191 -0
  196. package/paper/paper.md +166 -0
  197. package/paper/paper.pdf +0 -0
  198. package/readme.md +63 -9
  199. package/docs/assets/main.js +0 -60
  200. package/docs/assets/navigation.js +0 -1
  201. package/docs/assets/search.js +0 -1
  202. package/docs/assets/style.css +0 -1493
  203. package/docs/classes/errors.BadArgumentError.html +0 -12
  204. package/docs/classes/errors.BadBarrierError.html +0 -12
  205. package/docs/classes/errors.BadClassicalTypeError.html +0 -12
  206. package/docs/classes/errors.BadConditionalError.html +0 -12
  207. package/docs/classes/errors.BadCregError.html +0 -12
  208. package/docs/classes/errors.BadEqualsError.html +0 -12
  209. package/docs/classes/errors.BadExpressionError.html +0 -12
  210. package/docs/classes/errors.BadGateError.html +0 -12
  211. package/docs/classes/errors.BadIncludeError.html +0 -12
  212. package/docs/classes/errors.BadLoopError.html +0 -12
  213. package/docs/classes/errors.BadMeasurementError.html +0 -12
  214. package/docs/classes/errors.BadParameterError.html +0 -12
  215. package/docs/classes/errors.BadQregError.html +0 -12
  216. package/docs/classes/errors.BadQuantumInstructionError.html +0 -12
  217. package/docs/classes/errors.BadStringLiteralError.html +0 -12
  218. package/docs/classes/errors.BadSubroutineError.html +0 -12
  219. package/docs/classes/errors.MissingBraceError.html +0 -12
  220. package/docs/classes/errors.MissingSemicolonError.html +0 -12
  221. package/docs/classes/errors.UnsupportedOpenQASMVersionError.html +0 -12
  222. package/docs/classes/qasm2_ast.ApplyGate.html +0 -6
  223. package/docs/classes/qasm2_ast.AstNode.html +0 -3
  224. package/docs/classes/qasm2_ast.Barrier.html +0 -5
  225. package/docs/classes/qasm2_ast.CReg.html +0 -5
  226. package/docs/classes/qasm2_ast.Cos.html +0 -3
  227. package/docs/classes/qasm2_ast.Divide.html +0 -3
  228. package/docs/classes/qasm2_ast.Exp.html +0 -3
  229. package/docs/classes/qasm2_ast.Gate.html +0 -7
  230. package/docs/classes/qasm2_ast.Id.html +0 -4
  231. package/docs/classes/qasm2_ast.If.html +0 -6
  232. package/docs/classes/qasm2_ast.Include.html +0 -4
  233. package/docs/classes/qasm2_ast.Ln.html +0 -3
  234. package/docs/classes/qasm2_ast.Measure.html +0 -7
  235. package/docs/classes/qasm2_ast.Minus.html +0 -3
  236. package/docs/classes/qasm2_ast.NNInteger.html +0 -4
  237. package/docs/classes/qasm2_ast.Opaque.html +0 -6
  238. package/docs/classes/qasm2_ast.Pi.html +0 -3
  239. package/docs/classes/qasm2_ast.Plus.html +0 -3
  240. package/docs/classes/qasm2_ast.Power.html +0 -3
  241. package/docs/classes/qasm2_ast.QReg.html +0 -5
  242. package/docs/classes/qasm2_ast.Real.html +0 -4
  243. package/docs/classes/qasm2_ast.Sin.html +0 -3
  244. package/docs/classes/qasm2_ast.Sqrt.html +0 -3
  245. package/docs/classes/qasm2_ast.Tan.html +0 -3
  246. package/docs/classes/qasm2_ast.Times.html +0 -3
  247. package/docs/classes/qasm2_ast.Variable.html +0 -4
  248. package/docs/classes/qasm2_ast.Version.html +0 -4
  249. package/docs/classes/qasm2_lexer.default.html +0 -50
  250. package/docs/classes/qasm2_parser.default.html +0 -87
  251. package/docs/classes/qasm3_ast.AliasStatement.html +0 -5
  252. package/docs/classes/qasm3_ast.AngleType.html +0 -4
  253. package/docs/classes/qasm3_ast.Arithmetic.html +0 -6
  254. package/docs/classes/qasm3_ast.ArrayAccess.html +0 -5
  255. package/docs/classes/qasm3_ast.ArrayDeclaration.html +0 -7
  256. package/docs/classes/qasm3_ast.ArrayInitializer.html +0 -4
  257. package/docs/classes/qasm3_ast.ArrayReference.html +0 -5
  258. package/docs/classes/qasm3_ast.AssignmentStatement.html +0 -5
  259. package/docs/classes/qasm3_ast.AstNode.html +0 -3
  260. package/docs/classes/qasm3_ast.Binary.html +0 -6
  261. package/docs/classes/qasm3_ast.BitType.html +0 -4
  262. package/docs/classes/qasm3_ast.BitstringLiteral.html +0 -4
  263. package/docs/classes/qasm3_ast.BoolType.html +0 -3
  264. package/docs/classes/qasm3_ast.BooleanLiteral.html +0 -4
  265. package/docs/classes/qasm3_ast.BoxDefinition.html +0 -7
  266. package/docs/classes/qasm3_ast.BranchingStatement.html +0 -8
  267. package/docs/classes/qasm3_ast.BreakStatement.html +0 -3
  268. package/docs/classes/qasm3_ast.CalibrationGrammarDeclaration.html +0 -6
  269. package/docs/classes/qasm3_ast.CaseStatement.html +0 -5
  270. package/docs/classes/qasm3_ast.Cast.html +0 -5
  271. package/docs/classes/qasm3_ast.ClassicalDeclaration.html +0 -7
  272. package/docs/classes/qasm3_ast.ClassicalType.html +0 -3
  273. package/docs/classes/qasm3_ast.ComplexType.html +0 -6
  274. package/docs/classes/qasm3_ast.ContinueStatement.html +0 -3
  275. package/docs/classes/qasm3_ast.DefaultStatement.html +0 -4
  276. package/docs/classes/qasm3_ast.DurationLiteral.html +0 -5
  277. package/docs/classes/qasm3_ast.DurationOf.html +0 -4
  278. package/docs/classes/qasm3_ast.DurationType.html +0 -3
  279. package/docs/classes/qasm3_ast.Euler.html +0 -3
  280. package/docs/classes/qasm3_ast.Expression.html +0 -3
  281. package/docs/classes/qasm3_ast.ExternSignature.html +0 -8
  282. package/docs/classes/qasm3_ast.FloatLiteral.html +0 -4
  283. package/docs/classes/qasm3_ast.FloatType.html +0 -6
  284. package/docs/classes/qasm3_ast.ForLoopStatement.html +0 -12
  285. package/docs/classes/qasm3_ast.HardwareQubit.html +0 -5
  286. package/docs/classes/qasm3_ast.IODeclaration.html +0 -5
  287. package/docs/classes/qasm3_ast.Identifier.html +0 -4
  288. package/docs/classes/qasm3_ast.ImaginaryLiteral.html +0 -4
  289. package/docs/classes/qasm3_ast.Include.html +0 -6
  290. package/docs/classes/qasm3_ast.IndexSet.html +0 -5
  291. package/docs/classes/qasm3_ast.IntType.html +0 -4
  292. package/docs/classes/qasm3_ast.IntegerLiteral.html +0 -4
  293. package/docs/classes/qasm3_ast.MathFunction.html +0 -5
  294. package/docs/classes/qasm3_ast.NumericLiteral.html +0 -4
  295. package/docs/classes/qasm3_ast.Parameters.html +0 -4
  296. package/docs/classes/qasm3_ast.Pi.html +0 -3
  297. package/docs/classes/qasm3_ast.ProgramBlock.html +0 -7
  298. package/docs/classes/qasm3_ast.QuantumBarrier.html +0 -6
  299. package/docs/classes/qasm3_ast.QuantumBlock.html +0 -6
  300. package/docs/classes/qasm3_ast.QuantumDeclaration.html +0 -8
  301. package/docs/classes/qasm3_ast.QuantumDelay.html +0 -5
  302. package/docs/classes/qasm3_ast.QuantumGateCall.html +0 -9
  303. package/docs/classes/qasm3_ast.QuantumGateDefinition.html +0 -9
  304. package/docs/classes/qasm3_ast.QuantumGateModifier.html +0 -5
  305. package/docs/classes/qasm3_ast.QuantumMeasurement.html +0 -6
  306. package/docs/classes/qasm3_ast.QuantumMeasurementAssignment.html +0 -8
  307. package/docs/classes/qasm3_ast.QuantumReset.html +0 -4
  308. package/docs/classes/qasm3_ast.Range.html +0 -6
  309. package/docs/classes/qasm3_ast.ReturnStatement.html +0 -4
  310. package/docs/classes/qasm3_ast.SizeOf.html +0 -5
  311. package/docs/classes/qasm3_ast.Statement.html +0 -12
  312. package/docs/classes/qasm3_ast.StretchType.html +0 -3
  313. package/docs/classes/qasm3_ast.SubroutineBlock.html +0 -6
  314. package/docs/classes/qasm3_ast.SubroutineCall.html +0 -5
  315. package/docs/classes/qasm3_ast.SubroutineDefinition.html +0 -10
  316. package/docs/classes/qasm3_ast.SubscriptedIdentifier.html +0 -5
  317. package/docs/classes/qasm3_ast.SwitchStatement.html +0 -6
  318. package/docs/classes/qasm3_ast.Tau.html +0 -3
  319. package/docs/classes/qasm3_ast.TrigFunction.html +0 -5
  320. package/docs/classes/qasm3_ast.UIntType.html +0 -4
  321. package/docs/classes/qasm3_ast.Unary.html +0 -5
  322. package/docs/classes/qasm3_ast.Version.html +0 -6
  323. package/docs/classes/qasm3_ast.WhileLoopStatement.html +0 -6
  324. package/docs/classes/qasm3_lexer.default.html +0 -60
  325. package/docs/classes/qasm3_parser.default.html +0 -227
  326. package/docs/classes/version.OpenQASMVersion.html +0 -16
  327. package/docs/enums/qasm2_token.Token.html +0 -39
  328. package/docs/enums/qasm3_ast.ArithmeticOp.html +0 -9
  329. package/docs/enums/qasm3_ast.ArrayReferenceModifier.html +0 -4
  330. package/docs/enums/qasm3_ast.BinaryOp.html +0 -15
  331. package/docs/enums/qasm3_ast.DurationUnit.html +0 -7
  332. package/docs/enums/qasm3_ast.IOModifier.html +0 -4
  333. package/docs/enums/qasm3_ast.MathFunctionTypes.html +0 -12
  334. package/docs/enums/qasm3_ast.QuantumGateModifierName.html +0 -6
  335. package/docs/enums/qasm3_ast.TrigFunctionTypes.html +0 -8
  336. package/docs/enums/qasm3_ast.UnaryOp.html +0 -5
  337. package/docs/enums/qasm3_token.Token.html +0 -101
  338. package/docs/enums/version.OpenQASMMajorVersion.html +0 -4
  339. package/docs/functions/lexer.lex.html +0 -1
  340. package/docs/functions/main.parseFile.html +0 -4
  341. package/docs/functions/main.parseString.html +0 -4
  342. package/docs/functions/parser.parse.html +0 -1
  343. package/docs/functions/qasm2_token.inverseLookup.html +0 -3
  344. package/docs/functions/qasm2_token.lookup.html +0 -4
  345. package/docs/functions/qasm2_token.notParam.html +0 -3
  346. package/docs/functions/qasm3_token.inverseLookup.html +0 -3
  347. package/docs/functions/qasm3_token.lookup.html +0 -4
  348. package/docs/functions/qasm3_token.notParam.html +0 -3
  349. package/docs/hierarchy.html +0 -1
  350. package/docs/modules/errors.html +0 -21
  351. package/docs/modules/lexer.html +0 -2
  352. package/docs/modules/main.html +0 -3
  353. package/docs/modules/parser.html +0 -2
  354. package/docs/modules/qasm2_ast.html +0 -28
  355. package/docs/modules/qasm2_lexer.html +0 -2
  356. package/docs/modules/qasm2_parser.html +0 -2
  357. package/docs/modules/qasm2_token.html +0 -5
  358. package/docs/modules/qasm3_ast.html +0 -83
  359. package/docs/modules/qasm3_lexer.html +0 -2
  360. package/docs/modules/qasm3_parser.html +0 -2
  361. package/docs/modules/qasm3_token.html +0 -5
  362. package/docs/modules/version.html +0 -3
  363. package/docs/modules.html +0 -14
  364. package/docs/types/errors.ReturnErrorConstructor.html +0 -2
  365. /package/docs/{.nojekyll → typedoc/.nojekyll} +0 -0
@@ -0,0 +1,237 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | qasm-ts - v2.0.0</title><meta name="description" content="Documentation for qasm-ts"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">qasm-ts - v2.0.0</a><div id="tsd-toolbar-links"><a href="https://github.com/comp-phys-marc/qasm-ts">GitHub</a><a href="https://www.npmjs.com/package/qasm-ts">NPM</a></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/qasm3_parser.html">qasm3/parser</a></li><li><a href="" aria-current="page">default</a></li></ul><h1>Class default</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>OpenQASM 3.0 Recursive Descent Parser</p>
2
+ <p>Implements a comprehensive parser for the OpenQASM 3.0 language specification.
3
+ The parser uses recursive descent parsing with appropriate error recovery and
4
+ maintains symbol tables for gates, subroutines, and variables.</p>
5
+ <p>Parser state includes:</p>
6
+ <ul>
7
+ <li>Token stream and current position</li>
8
+ <li>Symbol tables for gates, subroutines, arrays, aliases</li>
9
+ <li>Machine-specific defaults (float width, int size)</li>
10
+ </ul>
11
+ </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example-creating-and-using-the-parser">Example: Creating and using the parser<a href="#example-creating-and-using-the-parser" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">parser</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">Parser</span><span class="hl-1">(</span><span class="hl-4">tokens</span><span class="hl-1">);</span><br/><br/><span class="hl-7">// Parse the entire program</span><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">ast</span><span class="hl-1"> = </span><span class="hl-4">parser</span><span class="hl-1">.</span><span class="hl-0">parse</span><span class="hl-1">();</span><br/><br/><span class="hl-7">// AST contains array of top-level statements and declarations</span><br/><span class="hl-4">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-4">ast</span><span class="hl-1">); </span><span class="hl-7">// [VersionNode, IncludeNode, DeclarationNode, ...]</span>
12
+ </code><button type="button">Copy</button></pre>
13
+
14
+ </div></div></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L180">src/qasm3/parser.ts:180</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
15
+ </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="#aliasstatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>alias<wbr/>Statement</span></a>
16
+ <a href="#arraydeclaration" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>array<wbr/>Declaration</span></a>
17
+ <a href="#assignment" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>assignment</span></a>
18
+ <a href="#barrier" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>barrier</span></a>
19
+ <a href="#binaryexpression" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>binary<wbr/>Expression</span></a>
20
+ <a href="#box" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>box</span></a>
21
+ <a href="#classicaldeclaration" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>classical<wbr/>Declaration</span></a>
22
+ <a href="#createclassicaltype" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Classical<wbr/>Type</span></a>
23
+ <a href="#createmathortrigfunction" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Math<wbr/>Or<wbr/>Trig<wbr/>Function</span></a>
24
+ <a href="#defcalgrammardeclaration" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>defcal<wbr/>Grammar<wbr/>Declaration</span></a>
25
+ <a href="#delay" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>delay</span></a>
26
+ <a href="#durationof" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>duration<wbr/>Of</span></a>
27
+ <a href="#externsignature" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>extern<wbr/>Signature</span></a>
28
+ <a href="#forloopstatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>for<wbr/>Loop<wbr/>Statement</span></a>
29
+ <a href="#ifstatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>if<wbr/>Statement</span></a>
30
+ <a href="#include" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>include</span></a>
31
+ <a href="#iotype" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>io<wbr/>Type</span></a>
32
+ <a href="#matchnext" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>match<wbr/>Next</span></a>
33
+ <a href="#measurestatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>measure<wbr/>Statement</span></a>
34
+ <a href="#parse" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse</span></a>
35
+ <a href="#parsearrayaccess" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Array<wbr/>Access</span></a>
36
+ <a href="#parsearrayinitializer" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Array<wbr/>Initializer</span></a>
37
+ <a href="#parsearrayreference" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Array<wbr/>Reference</span></a>
38
+ <a href="#parsecasestatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Case<wbr/>Statement</span></a>
39
+ <a href="#parseclassicaltype" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Classical<wbr/>Type</span></a>
40
+ <a href="#parsedefaultstatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Default<wbr/>Statement</span></a>
41
+ <a href="#parsehardwarequbit" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Hardware<wbr/>Qubit</span></a>
42
+ <a href="#parseindexset" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Index<wbr/>Set</span></a>
43
+ <a href="#parsenode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Node</span></a>
44
+ <a href="#parseparameters" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Parameters</span></a>
45
+ <a href="#parsequantumgatemodifier" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Quantum<wbr/>Gate<wbr/>Modifier</span></a>
46
+ <a href="#parsequbitlist" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Qubit<wbr/>List</span></a>
47
+ <a href="#parsesetdeclaration" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Set<wbr/>Declaration</span></a>
48
+ <a href="#parsesubscript" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Subscript</span></a>
49
+ <a href="#parsetypecast" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Type<wbr/>Cast</span></a>
50
+ <a href="#programblock" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>program<wbr/>Block</span></a>
51
+ <a href="#quantumdeclaration" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>quantum<wbr/>Declaration</span></a>
52
+ <a href="#quantumgatecall" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>quantum<wbr/>Gate<wbr/>Call</span></a>
53
+ <a href="#quantumgatedefinition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>quantum<wbr/>Gate<wbr/>Definition</span></a>
54
+ <a href="#resetstatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>reset<wbr/>Statement</span></a>
55
+ <a href="#returnstatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>return<wbr/>Statement</span></a>
56
+ <a href="#sizeof" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>size<wbr/>Of</span></a>
57
+ <a href="#stdgates" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>std<wbr/>Gates</span></a>
58
+ <a href="#subroutinecall" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>subroutine<wbr/>Call</span></a>
59
+ <a href="#subroutinedefinition" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>subroutine<wbr/>Definition</span></a>
60
+ <a href="#switchstatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>switch<wbr/>Statement</span></a>
61
+ <a href="#unaryexpression" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>unary<wbr/>Expression</span></a>
62
+ <a href="#versionheader" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>version<wbr/>Header</span></a>
63
+ <a href="#whileloopstatement" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>while<wbr/>Loop<wbr/>Statement</span></a>
64
+ </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#aliases" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>aliases</span></a>
65
+ <a href="#customarrays" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>custom<wbr/>Arrays</span></a>
66
+ <a href="#customgates" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>custom<wbr/>Gates</span></a>
67
+ <a href="#gates" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gates</span></a>
68
+ <a href="#index" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>index</span></a>
69
+ <a href="#machinefloatwidth" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>machine<wbr/>Float<wbr/>Width</span></a>
70
+ <a href="#machineintsize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>machine<wbr/>Int<wbr/>Size</span></a>
71
+ <a href="#standardgates" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>standard<wbr/>Gates</span></a>
72
+ <a href="#subroutines" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>subroutines</span></a>
73
+ <a href="#tokens" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>tokens</span></a>
74
+ </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Constructors</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="constructor"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="constructordefault"><span class="tsd-signature-keyword">new</span> <span class="tsd-kind-constructor-signature">default</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">defaultFloatWidth</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">machineIntSize</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-class">default</a><a href="#constructordefault" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Creates a parser.</p>
75
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
76
+ </div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">defaultFloatWidth</span>: <span class="tsd-signature-type">number</span></span><div class="tsd-comment tsd-typography"><p>Optional default float width override.</p>
77
+ </div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">machineIntSize</span>: <span class="tsd-signature-type">number</span></span><div class="tsd-comment tsd-typography"><p>Optional default int size override.</p>
78
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">default</a></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L217">src/qasm3/parser.ts:217</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Methods</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="aliasstatement"><span>alias<wbr/>Statement</span><a href="#aliasstatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="aliasstatement-1"><span class="tsd-kind-call-signature">aliasStatement</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.AliasStatement.html" class="tsd-signature-type tsd-kind-class">AliasStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#aliasstatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an alias statement.</p>
79
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
80
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.AliasStatement.html" class="tsd-signature-type tsd-kind-class">AliasStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the AliasStatement and the number of tokens consumed.</p>
81
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1791">src/qasm3/parser.ts:1791</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="arraydeclaration"><span>array<wbr/>Declaration</span><a href="#arraydeclaration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="arraydeclaration-1"><span class="tsd-kind-call-signature">arrayDeclaration</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ArrayDeclaration.html" class="tsd-signature-type tsd-kind-class">ArrayDeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#arraydeclaration-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an array statement.</p>
82
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
83
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ArrayDeclaration.html" class="tsd-signature-type tsd-kind-class">ArrayDeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>An ArrayDeclaration node and the number of tokens consumed.</p>
84
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2244">src/qasm3/parser.ts:2244</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="assignment"><span>assignment</span><a href="#assignment" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="assignment-1"><span class="tsd-kind-call-signature">assignment</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.AssignmentStatement.html" class="tsd-signature-type tsd-kind-class">AssignmentStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#assignment-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an assignment statement.</p>
85
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
86
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.AssignmentStatement.html" class="tsd-signature-type tsd-kind-class">AssignmentStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>The parsed AssignmentStatement AstNode and the number of consumed tokens.</p>
87
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L874">src/qasm3/parser.ts:874</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="barrier"><span>barrier</span><a href="#barrier" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="barrier-1"><span class="tsd-kind-call-signature">barrier</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumBarrier.html" class="tsd-signature-type tsd-kind-class">QuantumBarrier</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#barrier-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a barrier statement.</p>
88
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
89
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumBarrier.html" class="tsd-signature-type tsd-kind-class">QuantumBarrier</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>An QuantumBarrier node and the number of tokens consumed.</p>
90
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2195">src/qasm3/parser.ts:2195</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="binaryexpression"><span>binary<wbr/>Expression</span><a href="#binaryexpression" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="binaryexpression-1"><span class="tsd-kind-call-signature">binaryExpression</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#binaryexpression-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a binary expression.</p>
91
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
92
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the parsed Expression and the number of tokens consumed.</p>
93
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L829">src/qasm3/parser.ts:829</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="box"><span>box</span><a href="#box" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="box-1"><span class="tsd-kind-call-signature">box</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.BoxDefinition.html" class="tsd-signature-type tsd-kind-class">BoxDefinition</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#box-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a box statement.</p>
94
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
95
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.BoxDefinition.html" class="tsd-signature-type tsd-kind-class">BoxDefinition</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>An BoxDefinition node and the number of tokens consumed.</p>
96
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2211">src/qasm3/parser.ts:2211</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="classicaldeclaration"><span>classical<wbr/>Declaration</span><a href="#classicaldeclaration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="classicaldeclaration-1"><span class="tsd-kind-call-signature">classicalDeclaration</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">isConst</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ClassicalDeclaration.html" class="tsd-signature-type tsd-kind-class">ClassicalDeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#classicaldeclaration-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a classical type declaration.</p>
97
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
98
+ </div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">isConst</span>: <span class="tsd-signature-type">boolean</span></span><div class="tsd-comment tsd-typography"><p>Whether the declaration is for a constant, defaults to False.</p>
99
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ClassicalDeclaration.html" class="tsd-signature-type tsd-kind-class">ClassicalDeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>The parsed ClassicalDeclaration AstNode and the number of consumed tokens.</p>
100
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L598">src/qasm3/parser.ts:598</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="createclassicaltype"><span>create<wbr/>Classical<wbr/>Type</span><a href="#createclassicaltype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="createclassicaltype-1"><span class="tsd-kind-call-signature">createClassicalType</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">token</span><span class="tsd-signature-symbol">:</span> <a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">width</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="qasm3_ast.ClassicalType.html" class="tsd-signature-type tsd-kind-class">ClassicalType</a><a href="#createclassicaltype-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Creates a classical type.</p>
101
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">token</span>: <a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a></span><div class="tsd-comment tsd-typography"><p>The token that represents the type.</p>
102
+ </div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">width</span>: <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a></span><div class="tsd-comment tsd-typography"><p>The type's width or size, if applicable.</p>
103
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="qasm3_ast.ClassicalType.html" class="tsd-signature-type tsd-kind-class">ClassicalType</a></h4><p>The created ClassicalType.</p>
104
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2996">src/qasm3/parser.ts:2996</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="createmathortrigfunction"><span>create<wbr/>Math<wbr/>Or<wbr/>Trig<wbr/>Function</span><a href="#createmathortrigfunction" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="createmathortrigfunction-1"><span class="tsd-kind-call-signature">createMathOrTrigFunction</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">token</span><span class="tsd-signature-symbol">:</span> <a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">expr</span><span class="tsd-signature-symbol">:</span> <a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.MathFunction.html" class="tsd-signature-type tsd-kind-class">MathFunction</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.TrigFunction.html" class="tsd-signature-type tsd-kind-class">TrigFunction</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#createmathortrigfunction-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Creates a math or trigonometric function node.</p>
105
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">token</span>: <a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a></span><div class="tsd-comment tsd-typography"><p>The token representing the function.</p>
106
+ </div></li><li><span><span class="tsd-kind-parameter">expr</span>: <a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a></span><div class="tsd-comment tsd-typography"><p>The expression to which the function is applied.</p>
107
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.MathFunction.html" class="tsd-signature-type tsd-kind-class">MathFunction</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.TrigFunction.html" class="tsd-signature-type tsd-kind-class">TrigFunction</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>The created MathFunction or TrigFunction node and the number of consumed tokens.</p>
108
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L3035">src/qasm3/parser.ts:3035</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="defcalgrammardeclaration"><span>defcal<wbr/>Grammar<wbr/>Declaration</span><a href="#defcalgrammardeclaration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="defcalgrammardeclaration-1"><span class="tsd-kind-call-signature">defcalGrammarDeclaration</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.CalibrationGrammarDeclaration.html" class="tsd-signature-type tsd-kind-class">CalibrationGrammarDeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#defcalgrammardeclaration-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a <code>defcalgrammar</code> declaration.</p>
109
+ <p>calibrationGrammarStatement:
110
+ DEFCALGRAMMAR StringLiteral SEMICOLON</p>
111
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
112
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.CalibrationGrammarDeclaration.html" class="tsd-signature-type tsd-kind-class">CalibrationGrammarDeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>The parsed CalibrationGrammarDeclaration AstNode node and the number of consumed tokens.</p>
113
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L572">src/qasm3/parser.ts:572</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="delay"><span>delay</span><a href="#delay" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="delay-1"><span class="tsd-kind-call-signature">delay</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumDelay.html" class="tsd-signature-type tsd-kind-class">QuantumDelay</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#delay-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a delay statement.</p>
114
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
115
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumDelay.html" class="tsd-signature-type tsd-kind-class">QuantumDelay</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A QuantumDelay node and the number of tokens consumed.</p>
116
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2616">src/qasm3/parser.ts:2616</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="durationof"><span>duration<wbr/>Of</span><a href="#durationof" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="durationof-1"><span class="tsd-kind-call-signature">durationOf</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.DurationOf.html" class="tsd-signature-type tsd-kind-class">DurationOf</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#durationof-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a durationof function call.</p>
117
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
118
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.DurationOf.html" class="tsd-signature-type tsd-kind-class">DurationOf</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A DurationOf node and the number of tokens consumed.</p>
119
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2666">src/qasm3/parser.ts:2666</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="externsignature"><span>extern<wbr/>Signature</span><a href="#externsignature" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="externsignature-1"><span class="tsd-kind-call-signature">externSignature</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ExternSignature.html" class="tsd-signature-type tsd-kind-class">ExternSignature</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#externsignature-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an extern signature.</p>
120
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
121
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ExternSignature.html" class="tsd-signature-type tsd-kind-class">ExternSignature</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the ExternSignature and the number of tokens consumed.</p>
122
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1226">src/qasm3/parser.ts:1226</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="forloopstatement"><span>for<wbr/>Loop<wbr/>Statement</span><a href="#forloopstatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="forloopstatement-1"><span class="tsd-kind-call-signature">forLoopStatement</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ForLoopStatement.html" class="tsd-signature-type tsd-kind-class">ForLoopStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#forloopstatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a for loop.</p>
123
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
124
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ForLoopStatement.html" class="tsd-signature-type tsd-kind-class">ForLoopStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A ForLoopStatement node and the number of tokens consumed.</p>
125
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2091">src/qasm3/parser.ts:2091</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="ifstatement"><span>if<wbr/>Statement</span><a href="#ifstatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="ifstatement-1"><span class="tsd-kind-call-signature">ifStatement</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.BranchingStatement.html" class="tsd-signature-type tsd-kind-class">BranchingStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#ifstatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a branching condition (if) statement.</p>
126
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
127
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.BranchingStatement.html" class="tsd-signature-type tsd-kind-class">BranchingStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A BranchingStatement node representing the if statement and the number of tokens consumed.</p>
128
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2039">src/qasm3/parser.ts:2039</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="include"><span>include</span><a href="#include" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="include-1"><span class="tsd-kind-call-signature">include</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Include.html" class="tsd-signature-type tsd-kind-class">Include</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#include-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an include statement.</p>
129
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
130
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Include.html" class="tsd-signature-type tsd-kind-class">Include</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>An Include node representing the include statement and the number of consumed tokens.</p>
131
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2813">src/qasm3/parser.ts:2813</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="iotype"><span>io<wbr/>Type</span><a href="#iotype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="iotype-1"><span class="tsd-kind-call-signature">ioType</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.IODeclaration.html" class="tsd-signature-type tsd-kind-class">IODeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#iotype-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an IO declaration statement.</p>
132
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
133
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.IODeclaration.html" class="tsd-signature-type tsd-kind-class">IODeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the parsed IODeclaration and the number of tokens consumed.</p>
134
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L646">src/qasm3/parser.ts:646</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="matchnext"><span>match<wbr/>Next</span><a href="#matchnext" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="matchnext-1"><span class="tsd-kind-call-signature">matchNext</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">expectedTokens</span><span class="tsd-signature-symbol">:</span> <a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#matchnext-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Checks if the next tokens match those expected.</p>
135
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
136
+ </div></li><li><span><span class="tsd-kind-parameter">expectedTokens</span>: <a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Expected tokens.</p>
137
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>Whether these is a match.</p>
138
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L544">src/qasm3/parser.ts:544</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="measurestatement"><span>measure<wbr/>Statement</span><a href="#measurestatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="measurestatement-1"><span class="tsd-kind-call-signature">measureStatement</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumMeasurement.html" class="tsd-signature-type tsd-kind-class">QuantumMeasurement</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.QuantumMeasurementAssignment.html" class="tsd-signature-type tsd-kind-class">QuantumMeasurementAssignment</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#measurestatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a measure statement.</p>
139
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
140
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumMeasurement.html" class="tsd-signature-type tsd-kind-class">QuantumMeasurement</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.QuantumMeasurementAssignment.html" class="tsd-signature-type tsd-kind-class">QuantumMeasurementAssignment</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the QuantumMeasurementAssignment or QuantumMeasurement and the number of tokens consumed.</p>
141
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1067">src/qasm3/parser.ts:1067</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parse"><span>parse</span><a href="#parse" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parse-1"><span class="tsd-kind-call-signature">parse</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="qasm3_ast.AstNode.html" class="tsd-signature-type tsd-kind-class">AstNode</a><span class="tsd-signature-symbol">[]</span><a href="#parse-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses the token stream and generates an abstract syntax tree.</p>
142
+ </div><h4 class="tsd-returns-title">Returns <a href="qasm3_ast.AstNode.html" class="tsd-signature-type tsd-kind-class">AstNode</a><span class="tsd-signature-symbol">[]</span></h4><p>The abstract syntax tree.</p>
143
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L280">src/qasm3/parser.ts:280</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsearrayaccess"><span>parse<wbr/>Array<wbr/>Access</span><a href="#parsearrayaccess" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsearrayaccess-1"><span class="tsd-kind-call-signature">parseArrayAccess</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ArrayAccess.html" class="tsd-signature-type tsd-kind-class">ArrayAccess</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsearrayaccess-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an array access.</p>
144
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
145
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ArrayAccess.html" class="tsd-signature-type tsd-kind-class">ArrayAccess</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>An ArrayAccess node and the number of tokens consumed.</p>
146
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2386">src/qasm3/parser.ts:2386</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsearrayinitializer"><span>parse<wbr/>Array<wbr/>Initializer</span><a href="#parsearrayinitializer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsearrayinitializer-1"><span class="tsd-kind-call-signature">parseArrayInitializer</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.ArrayInitializer.html" class="tsd-signature-type tsd-kind-class">ArrayInitializer</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsearrayinitializer-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an array initializer.</p>
147
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
148
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.ArrayInitializer.html" class="tsd-signature-type tsd-kind-class">ArrayInitializer</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>An ArrayInitializer node and the number of tokens consumed.</p>
149
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2336">src/qasm3/parser.ts:2336</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsearrayreference"><span>parse<wbr/>Array<wbr/>Reference</span><a href="#parsearrayreference" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsearrayreference-1"><span class="tsd-kind-call-signature">parseArrayReference</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ArrayReference.html" class="tsd-signature-type tsd-kind-class">ArrayReference</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsearrayreference-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an array reference.</p>
150
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
151
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ArrayReference.html" class="tsd-signature-type tsd-kind-class">ArrayReference</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the ArrayReference and the number of tokens consumed.</p>
152
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1756">src/qasm3/parser.ts:1756</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsecasestatement"><span>parse<wbr/>Case<wbr/>Statement</span><a href="#parsecasestatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsecasestatement-1"><span class="tsd-kind-call-signature">parseCaseStatement</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.CaseStatement.html" class="tsd-signature-type tsd-kind-class">CaseStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsecasestatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a case statement.</p>
153
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
154
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.CaseStatement.html" class="tsd-signature-type tsd-kind-class">CaseStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A CaseStatement node and the number of tokens consumed.</p>
155
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2555">src/qasm3/parser.ts:2555</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parseclassicaltype"><span>parse<wbr/>Classical<wbr/>Type</span><a href="#parseclassicaltype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parseclassicaltype-1"><span class="tsd-kind-call-signature">parseClassicalType</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ClassicalType.html" class="tsd-signature-type tsd-kind-class">ClassicalType</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parseclassicaltype-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a classical type.</p>
156
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ClassicalType.html" class="tsd-signature-type tsd-kind-class">ClassicalType</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>The ClassicalType and the number of consumed tokens.</p>
157
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2881">src/qasm3/parser.ts:2881</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsedefaultstatement"><span>parse<wbr/>Default<wbr/>Statement</span><a href="#parsedefaultstatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsedefaultstatement-1"><span class="tsd-kind-call-signature">parseDefaultStatement</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.DefaultStatement.html" class="tsd-signature-type tsd-kind-class">DefaultStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsedefaultstatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a default statement.</p>
158
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
159
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.DefaultStatement.html" class="tsd-signature-type tsd-kind-class">DefaultStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A DefaultStatement node and the number of tokens consumed.</p>
160
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2591">src/qasm3/parser.ts:2591</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsehardwarequbit"><span>parse<wbr/>Hardware<wbr/>Qubit</span><a href="#parsehardwarequbit" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsehardwarequbit-1"><span class="tsd-kind-call-signature">parseHardwareQubit</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.HardwareQubit.html" class="tsd-signature-type tsd-kind-class">HardwareQubit</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsehardwarequbit-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a hardware qubit.</p>
161
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
162
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.HardwareQubit.html" class="tsd-signature-type tsd-kind-class">HardwareQubit</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the HardwareQubit and the number of tokens consumed.</p>
163
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1593">src/qasm3/parser.ts:1593</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parseindexset"><span>parse<wbr/>Index<wbr/>Set</span><a href="#parseindexset" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parseindexset-1"><span class="tsd-kind-call-signature">parseIndexSet</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.IndexSet.html" class="tsd-signature-type tsd-kind-class">IndexSet</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parseindexset-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses an index set.</p>
164
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.IndexSet.html" class="tsd-signature-type tsd-kind-class">IndexSet</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>The resulting Identifier, IndexSet, or Range node and the number of consumed tokens.</p>
165
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2961">src/qasm3/parser.ts:2961</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsenode"><span>parse<wbr/>Node</span><a href="#parsenode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsenode-1"><span class="tsd-kind-call-signature">parseNode</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">allowVariables</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.AstNode.html" class="tsd-signature-type tsd-kind-class">AstNode</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsenode-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a single statement or declaration by delegating the parsing of the next set of tokens to the appropriate method.</p>
166
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
167
+ </div></li><li><span><span class="tsd-kind-parameter">allowVariables</span>: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></span><div class="tsd-comment tsd-typography"><p>Whether encountered identifiers should be consider
168
+ variable initializations or references.</p>
169
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.AstNode.html" class="tsd-signature-type tsd-kind-class">AstNode</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A set of AST nodes and the number of consumed tokens.</p>
170
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L316">src/qasm3/parser.ts:316</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parseparameters"><span>parse<wbr/>Parameters</span><a href="#parseparameters" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parseparameters-1"><span class="tsd-kind-call-signature">parseParameters</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Parameters.html" class="tsd-signature-type tsd-kind-class">Parameters</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parseparameters-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a set of parameters.</p>
171
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
172
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Parameters.html" class="tsd-signature-type tsd-kind-class">Parameters</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the Parameters and the number of tokens consumed.</p>
173
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1687">src/qasm3/parser.ts:1687</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsequantumgatemodifier"><span>parse<wbr/>Quantum<wbr/>Gate<wbr/>Modifier</span><a href="#parsequantumgatemodifier" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsequantumgatemodifier-1"><span class="tsd-kind-call-signature">parseQuantumGateModifier</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumGateModifier.html" class="tsd-signature-type tsd-kind-class">QuantumGateModifier</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsequantumgatemodifier-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a gate modifier.</p>
174
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
175
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumGateModifier.html" class="tsd-signature-type tsd-kind-class">QuantumGateModifier</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the gate modifier and the number of tokens consumed.</p>
176
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1622">src/qasm3/parser.ts:1622</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsequbitlist"><span>parse<wbr/>Qubit<wbr/>List</span><a href="#parsequbitlist" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsequbitlist-1"><span class="tsd-kind-call-signature">parseQubitList</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span>(<a href="qasm3_ast.Identifier.html" class="tsd-signature-type tsd-kind-class">Identifier</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.SubscriptedIdentifier.html" class="tsd-signature-type tsd-kind-class">SubscriptedIdentifier</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.HardwareQubit.html" class="tsd-signature-type tsd-kind-class">HardwareQubit</a>)<span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsequbitlist-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a list of qubits.</p>
177
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
178
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span>(<a href="qasm3_ast.Identifier.html" class="tsd-signature-type tsd-kind-class">Identifier</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.SubscriptedIdentifier.html" class="tsd-signature-type tsd-kind-class">SubscriptedIdentifier</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.HardwareQubit.html" class="tsd-signature-type tsd-kind-class">HardwareQubit</a>)<span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the list of qubits and the number of tokens consumed.</p>
179
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1544">src/qasm3/parser.ts:1544</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsesetdeclaration"><span>parse<wbr/>Set<wbr/>Declaration</span><a href="#parsesetdeclaration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsesetdeclaration-1"><span class="tsd-kind-call-signature">parseSetDeclaration</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.Range.html" class="tsd-signature-type tsd-kind-class">Range</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.IndexSet.html" class="tsd-signature-type tsd-kind-class">IndexSet</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsesetdeclaration-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a set declaration.</p>
180
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.Range.html" class="tsd-signature-type tsd-kind-class">Range</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.IndexSet.html" class="tsd-signature-type tsd-kind-class">IndexSet</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>The resulting Identifier, IndexSet, or Range node and the number of consumed tokens.</p>
181
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2941">src/qasm3/parser.ts:2941</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsesubscript"><span>parse<wbr/>Subscript</span><a href="#parsesubscript" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsesubscript-1"><span class="tsd-kind-call-signature">parseSubscript</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.Range.html" class="tsd-signature-type tsd-kind-class">Range</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.IndexSet.html" class="tsd-signature-type tsd-kind-class">IndexSet</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsesubscript-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a subscript expression as a Range.</p>
182
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
183
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.Range.html" class="tsd-signature-type tsd-kind-class">Range</a> <span class="tsd-signature-symbol">|</span> <a href="qasm3_ast.IndexSet.html" class="tsd-signature-type tsd-kind-class">IndexSet</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the parsed Expression or Range and the number of tokens consumed.</p>
184
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1877">src/qasm3/parser.ts:1877</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="parsetypecast"><span>parse<wbr/>Type<wbr/>Cast</span><a href="#parsetypecast" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="parsetypecast-1"><span class="tsd-kind-call-signature">parseTypeCast</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#parsetypecast-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a type cast expression.</p>
185
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
186
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the parsed Cast Expression and the number of tokens consumed.</p>
187
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1985">src/qasm3/parser.ts:1985</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="programblock"><span>program<wbr/>Block</span><a href="#programblock" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="programblock-1"><span class="tsd-kind-call-signature">programBlock</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ProgramBlock.html" class="tsd-signature-type tsd-kind-class">ProgramBlock</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#programblock-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a program block.</p>
188
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
189
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ProgramBlock.html" class="tsd-signature-type tsd-kind-class">ProgramBlock</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A ProgramBlock node and the number of tokens consumed.</p>
190
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2755">src/qasm3/parser.ts:2755</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="quantumdeclaration"><span>quantum<wbr/>Declaration</span><a href="#quantumdeclaration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="quantumdeclaration-1"><span class="tsd-kind-call-signature">quantumDeclaration</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumDeclaration.html" class="tsd-signature-type tsd-kind-class">QuantumDeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#quantumdeclaration-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a quantum declaration.</p>
191
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
192
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumDeclaration.html" class="tsd-signature-type tsd-kind-class">QuantumDeclaration</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A QuantumDeclaration node and the number of tokens consumed.</p>
193
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L977">src/qasm3/parser.ts:977</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="quantumgatecall"><span>quantum<wbr/>Gate<wbr/>Call</span><a href="#quantumgatecall" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="quantumgatecall-1"><span class="tsd-kind-call-signature">quantumGateCall</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumGateCall.html" class="tsd-signature-type tsd-kind-class">QuantumGateCall</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#quantumgatecall-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a quantum gate call.</p>
194
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
195
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumGateCall.html" class="tsd-signature-type tsd-kind-class">QuantumGateCall</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the QuantumGateCall and the number of tokens consumed.</p>
196
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1468">src/qasm3/parser.ts:1468</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="quantumgatedefinition"><span>quantum<wbr/>Gate<wbr/>Definition</span><a href="#quantumgatedefinition" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="quantumgatedefinition-1"><span class="tsd-kind-call-signature">quantumGateDefinition</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumGateDefinition.html" class="tsd-signature-type tsd-kind-class">QuantumGateDefinition</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#quantumgatedefinition-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a quantum gate definition.</p>
197
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
198
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumGateDefinition.html" class="tsd-signature-type tsd-kind-class">QuantumGateDefinition</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the QuantumGateDefinition and the number of tokens consumed.</p>
199
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1398">src/qasm3/parser.ts:1398</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="resetstatement"><span>reset<wbr/>Statement</span><a href="#resetstatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="resetstatement-1"><span class="tsd-kind-call-signature">resetStatement</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumReset.html" class="tsd-signature-type tsd-kind-class">QuantumReset</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#resetstatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a quantum reset.</p>
200
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
201
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.QuantumReset.html" class="tsd-signature-type tsd-kind-class">QuantumReset</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the QuantumReset and the number of tokens consumed.</p>
202
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1845">src/qasm3/parser.ts:1845</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="returnstatement"><span>return<wbr/>Statement</span><a href="#returnstatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="returnstatement-1"><span class="tsd-kind-call-signature">returnStatement</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ReturnStatement.html" class="tsd-signature-type tsd-kind-class">ReturnStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#returnstatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a subroutine return statement.</p>
203
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
204
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.ReturnStatement.html" class="tsd-signature-type tsd-kind-class">ReturnStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the SubroutineDefinition and the number of tokens consumed.</p>
205
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1206">src/qasm3/parser.ts:1206</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sizeof"><span>size<wbr/>Of</span><a href="#sizeof" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="sizeof-1"><span class="tsd-kind-call-signature">sizeOf</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.SizeOf.html" class="tsd-signature-type tsd-kind-class">SizeOf</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#sizeof-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a sizeof function call.</p>
206
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
207
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.SizeOf.html" class="tsd-signature-type tsd-kind-class">SizeOf</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A SizeOf node and the number of tokens consumed.</p>
208
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2712">src/qasm3/parser.ts:2712</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="stdgates"><span>std<wbr/>Gates</span><a href="#stdgates" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="stdgates-1"><span class="tsd-kind-call-signature">stdGates</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#stdgates-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Loads the standard library gates.</p>
209
+ </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L237">src/qasm3/parser.ts:237</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="subroutinecall"><span>subroutine<wbr/>Call</span><a href="#subroutinecall" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="subroutinecall-1"><span class="tsd-kind-call-signature">subroutineCall</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.SubroutineCall.html" class="tsd-signature-type tsd-kind-class">SubroutineCall</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#subroutinecall-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a subroutine call.</p>
210
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
211
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.SubroutineCall.html" class="tsd-signature-type tsd-kind-class">SubroutineCall</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the SubroutineCall and the number of tokens consumed.</p>
212
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1349">src/qasm3/parser.ts:1349</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="subroutinedefinition"><span>subroutine<wbr/>Definition</span><a href="#subroutinedefinition" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="subroutinedefinition-1"><span class="tsd-kind-call-signature">subroutineDefinition</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.SubroutineDefinition.html" class="tsd-signature-type tsd-kind-class">SubroutineDefinition</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#subroutinedefinition-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a subroutine definition.</p>
213
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
214
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.SubroutineDefinition.html" class="tsd-signature-type tsd-kind-class">SubroutineDefinition</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the SubroutineDefinition and the number of tokens consumed.</p>
215
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L1283">src/qasm3/parser.ts:1283</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="switchstatement"><span>switch<wbr/>Statement</span><a href="#switchstatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="switchstatement-1"><span class="tsd-kind-call-signature">switchStatement</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.SwitchStatement.html" class="tsd-signature-type tsd-kind-class">SwitchStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#switchstatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a switch statement.</p>
216
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
217
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.SwitchStatement.html" class="tsd-signature-type tsd-kind-class">SwitchStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A SwitchStatement node and the number of tokens consumed.</p>
218
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2463">src/qasm3/parser.ts:2463</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="unaryexpression"><span>unary<wbr/>Expression</span><a href="#unaryexpression" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="unaryexpression-1"><span class="tsd-kind-call-signature">unaryExpression</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#unaryexpression-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a unary expression.</p>
219
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Remaining tokens to parse.</p>
220
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Expression.html" class="tsd-signature-type tsd-kind-class">Expression</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A tuple containing the parsed Expression and the number of tokens consumed.</p>
221
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L677">src/qasm3/parser.ts:677</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="versionheader"><span>version<wbr/>Header</span><a href="#versionheader" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="versionheader-1"><span class="tsd-kind-call-signature">versionHeader</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Version.html" class="tsd-signature-type tsd-kind-class">Version</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#versionheader-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses the version header and sets the parser version.</p>
222
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
223
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.Version.html" class="tsd-signature-type tsd-kind-class">Version</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A Version node representing the version statement and the number of consumed tokens.</p>
224
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2835">src/qasm3/parser.ts:2835</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="whileloopstatement"><span>while<wbr/>Loop<wbr/>Statement</span><a href="#whileloopstatement" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="whileloopstatement-1"><span class="tsd-kind-call-signature">whileLoopStatement</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.WhileLoopStatement.html" class="tsd-signature-type tsd-kind-class">WhileLoopStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span><a href="#whileloopstatement-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Parses a while loop.</p>
225
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">tokens</span>: <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>Tokens to parse.</p>
226
+ </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><a href="qasm3_ast.WhileLoopStatement.html" class="tsd-signature-type tsd-kind-class">WhileLoopStatement</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">]</span></h4><p>A ForLoopStatement node and the number of tokens consumed.</p>
227
+ <aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L2154">src/qasm3/parser.ts:2154</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="aliases"><span>aliases</span><a href="#aliases" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">aliases</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div><div class="tsd-comment tsd-typography"><p>User defined aliases.</p>
228
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L200">src/qasm3/parser.ts:200</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="customarrays"><span>custom<wbr/>Arrays</span><a href="#customarrays" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">customArrays</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div><div class="tsd-comment tsd-typography"><p>User defined arrays.</p>
229
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L197">src/qasm3/parser.ts:197</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="customgates"><span>custom<wbr/>Gates</span><a href="#customgates" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">customGates</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div><div class="tsd-comment tsd-typography"><p>Custom defined gates.</p>
230
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L188">src/qasm3/parser.ts:188</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="gates"><span>gates</span><a href="#gates" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">gates</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div><div class="tsd-comment tsd-typography"><p>The built in gates.</p>
231
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L185">src/qasm3/parser.ts:185</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="index"><span>index</span><a href="#index" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">index</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>Index of the current token.</p>
232
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L203">src/qasm3/parser.ts:203</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="machinefloatwidth"><span>machine<wbr/>Float<wbr/>Width</span><a href="#machinefloatwidth" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">machineFloatWidth</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>The default machine precision float width.</p>
233
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L206">src/qasm3/parser.ts:206</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="machineintsize"><span>machine<wbr/>Int<wbr/>Size</span><a href="#machineintsize" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">machineIntSize</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-comment tsd-typography"><p>The default machine int size.</p>
234
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L209">src/qasm3/parser.ts:209</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="standardgates"><span>standard<wbr/>Gates</span><a href="#standardgates" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">standardGates</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div><div class="tsd-comment tsd-typography"><p>Standard library gates.</p>
235
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L191">src/qasm3/parser.ts:191</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="subroutines"><span>subroutines</span><a href="#subroutines" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">subroutines</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div><div class="tsd-comment tsd-typography"><p>Custom defined subroutines.</p>
236
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L194">src/qasm3/parser.ts:194</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="tokens"><span>tokens</span><a href="#tokens" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">tokens</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><a href="../enums/qasm3_token.Token.html" class="tsd-signature-type tsd-kind-enum">Token</a><span class="tsd-signature-symbol">,</span> (<span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span>)<span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></div><div class="tsd-comment tsd-typography"><p>The tokens to parse.</p>
237
+ </div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/comp-phys-marc/qasm-ts/blob/e00e770e8986980469d62d6791dabda601cde7ad/src/qasm3/parser.ts#L182">src/qasm3/parser.ts:182</a></li></ul></aside></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#aliasstatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>alias<wbr/>Statement</span></a><a href="#arraydeclaration"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>array<wbr/>Declaration</span></a><a href="#assignment"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>assignment</span></a><a href="#barrier"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>barrier</span></a><a href="#binaryexpression"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>binary<wbr/>Expression</span></a><a href="#box"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>box</span></a><a href="#classicaldeclaration"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>classical<wbr/>Declaration</span></a><a href="#createclassicaltype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Classical<wbr/>Type</span></a><a href="#createmathortrigfunction"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create<wbr/>Math<wbr/>Or<wbr/>Trig<wbr/>Function</span></a><a href="#defcalgrammardeclaration"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>defcal<wbr/>Grammar<wbr/>Declaration</span></a><a href="#delay"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>delay</span></a><a href="#durationof"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>duration<wbr/>Of</span></a><a href="#externsignature"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>extern<wbr/>Signature</span></a><a href="#forloopstatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>for<wbr/>Loop<wbr/>Statement</span></a><a href="#ifstatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>if<wbr/>Statement</span></a><a href="#include"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>include</span></a><a href="#iotype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>io<wbr/>Type</span></a><a href="#matchnext"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>match<wbr/>Next</span></a><a href="#measurestatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>measure<wbr/>Statement</span></a><a href="#parse"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse</span></a><a href="#parsearrayaccess"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Array<wbr/>Access</span></a><a href="#parsearrayinitializer"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Array<wbr/>Initializer</span></a><a href="#parsearrayreference"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Array<wbr/>Reference</span></a><a href="#parsecasestatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Case<wbr/>Statement</span></a><a href="#parseclassicaltype"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Classical<wbr/>Type</span></a><a href="#parsedefaultstatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Default<wbr/>Statement</span></a><a href="#parsehardwarequbit"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Hardware<wbr/>Qubit</span></a><a href="#parseindexset"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Index<wbr/>Set</span></a><a href="#parsenode"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Node</span></a><a href="#parseparameters"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Parameters</span></a><a href="#parsequantumgatemodifier"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Quantum<wbr/>Gate<wbr/>Modifier</span></a><a href="#parsequbitlist"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Qubit<wbr/>List</span></a><a href="#parsesetdeclaration"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Set<wbr/>Declaration</span></a><a href="#parsesubscript"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Subscript</span></a><a href="#parsetypecast"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>parse<wbr/>Type<wbr/>Cast</span></a><a href="#programblock"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>program<wbr/>Block</span></a><a href="#quantumdeclaration"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>quantum<wbr/>Declaration</span></a><a href="#quantumgatecall"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>quantum<wbr/>Gate<wbr/>Call</span></a><a href="#quantumgatedefinition"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>quantum<wbr/>Gate<wbr/>Definition</span></a><a href="#resetstatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>reset<wbr/>Statement</span></a><a href="#returnstatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>return<wbr/>Statement</span></a><a href="#sizeof"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>size<wbr/>Of</span></a><a href="#stdgates"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>std<wbr/>Gates</span></a><a href="#subroutinecall"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>subroutine<wbr/>Call</span></a><a href="#subroutinedefinition"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>subroutine<wbr/>Definition</span></a><a href="#switchstatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>switch<wbr/>Statement</span></a><a href="#unaryexpression"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>unary<wbr/>Expression</span></a><a href="#versionheader"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>version<wbr/>Header</span></a><a href="#whileloopstatement"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>while<wbr/>Loop<wbr/>Statement</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#aliases"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>aliases</span></a><a href="#customarrays"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>custom<wbr/>Arrays</span></a><a href="#customgates"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>custom<wbr/>Gates</span></a><a href="#gates"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gates</span></a><a href="#index"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>index</span></a><a href="#machinefloatwidth"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>machine<wbr/>Float<wbr/>Width</span></a><a href="#machineintsize"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>machine<wbr/>Int<wbr/>Size</span></a><a href="#standardgates"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>standard<wbr/>Gates</span></a><a href="#subroutines"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>subroutines</span></a><a href="#tokens"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>tokens</span></a></div></details></div></details></div><div class="site-menu"><nav id="tsd-sidebar-links" class="tsd-navigation"><a href="https://github.com/comp-phys-marc/qasm-ts" class="tsd-nav-link">GitHub</a><a href="https://www.npmjs.com/package/qasm-ts" class="tsd-nav-link">NPM</a></nav><nav class="tsd-navigation"><a href="../modules.html">qasm-ts - v2.0.0</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>