Source code for braket.default_simulator.openqasm.parser.generated.BraketPragmasParser

# Generated from BraketPragmasParser.g4 by ANTLR 4.9.2
# encoding: utf-8
from antlr4 import *
from io import StringIO
import sys
if sys.version_info[1] > 5:
	from typing import TextIO
else:
	from typing.io import TextIO


[docs] def serializedATN(): with StringIO() as buf: buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\u0084") buf.write("\u03e2\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16") buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") buf.write("\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31") buf.write("\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36") buf.write("\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t") buf.write("&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.\t.\4") buf.write("/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t\64") buf.write("\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t") buf.write(";\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\t") buf.write("D\4E\tE\4F\tF\4G\tG\4H\tH\4I\tI\4J\tJ\4K\tK\4L\tL\4M\t") buf.write("M\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT\4U\tU\4V\t") buf.write("V\4W\tW\4X\tX\4Y\tY\3\2\3\2\3\2\3\2\5\2\u00b7\n\2\3\3") buf.write("\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\5\3\5\3\5\3\5\7") buf.write("\5\u00c7\n\5\f\5\16\5\u00ca\13\5\3\5\3\5\3\6\3\6\3\6\3") buf.write("\6\7\6\u00d2\n\6\f\6\16\6\u00d5\13\6\3\6\3\6\3\7\3\7\3") buf.write("\7\3\7\3\b\3\b\3\b\3\b\5\b\u00e1\n\b\3\t\3\t\3\n\3\n\3") buf.write("\13\3\13\5\13\u00e9\n\13\3\f\3\f\3\r\3\r\3\r\7\r\u00f0") buf.write("\n\r\f\r\16\r\u00f3\13\r\3\r\5\r\u00f6\n\r\3\16\3\16\3") buf.write("\16\3\17\3\17\3\20\3\20\3\20\7\20\u0100\n\20\f\20\16\20") buf.write("\u0103\13\20\3\21\3\21\3\21\3\22\3\22\3\22\5\22\u010b") buf.write("\n\22\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\5\23\u0115") buf.write("\n\23\3\24\3\24\5\24\u0119\n\24\3\24\3\24\3\24\3\25\3") buf.write("\25\3\25\3\25\3\25\3\25\3\26\3\26\3\27\3\27\3\30\5\30") buf.write("\u0129\n\30\3\30\3\30\5\30\u012d\n\30\3\30\3\30\3\30\5") buf.write("\30\u0132\n\30\3\30\5\30\u0135\n\30\3\31\3\31\3\31\3\31") buf.write("\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32") buf.write("\3\32\5\32\u0147\n\32\3\33\3\33\3\33\7\33\u014c\n\33\f") buf.write("\33\16\33\u014f\13\33\3\34\3\34\3\34\7\34\u0154\n\34\f") buf.write("\34\16\34\u0157\13\34\3\35\3\35\3\36\5\36\u015c\n\36\3") buf.write("\36\7\36\u015f\n\36\f\36\16\36\u0162\13\36\3\36\3\36\3") buf.write("\37\3\37\3\37\3\37\3 \3 \7 \u016c\n \f \16 \u016f\13 ") buf.write("\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3") buf.write(" \3 \3 \3 \3 \3 \3 \3 \3 \3 \5 \u018c\n \5 \u018e\n \3") buf.write("!\3!\5!\u0192\n!\3\"\3\"\7\"\u0196\n\"\f\"\16\"\u0199") buf.write("\13\"\3\"\3\"\3#\3#\3#\3$\3$\5$\u01a2\n$\3%\3%\3%\3%\3") buf.write("&\3&\3&\3&\3\'\3\'\3\'\3(\3(\3(\3)\3)\3)\3*\3*\3*\3*\3") buf.write("*\3*\3*\3*\3*\3*\5*\u01bf\n*\3*\3*\3+\3+\3+\3+\3+\3+\3") buf.write("+\5+\u01ca\n+\3,\3,\3,\5,\u01cf\n,\3,\3,\3-\3-\3-\3-\3") buf.write("-\3-\3.\3.\5.\u01db\n.\3.\3.\3/\3/\5/\u01e1\n/\3/\3/\3") buf.write("\60\3\60\3\60\5\60\u01e8\n\60\3\60\3\60\3\61\7\61\u01ed") buf.write("\n\61\f\61\16\61\u01f0\13\61\3\61\3\61\3\61\5\61\u01f5") buf.write("\n\61\3\61\5\61\u01f8\n\61\3\61\5\61\u01fb\n\61\3\61\3") buf.write("\61\3\61\3\61\7\61\u0201\n\61\f\61\16\61\u0204\13\61\3") buf.write("\61\3\61\3\61\5\61\u0209\n\61\3\61\5\61\u020c\n\61\3\61") buf.write("\5\61\u020f\n\61\3\61\5\61\u0212\n\61\3\61\5\61\u0215") buf.write("\n\61\3\62\3\62\3\62\5\62\u021a\n\62\3\62\3\62\3\63\3") buf.write("\63\3\63\3\63\3\64\3\64\3\64\3\64\3\64\3\64\3\65\3\65") buf.write("\5\65\u022a\n\65\3\65\3\65\3\65\5\65\u022f\n\65\3\65\3") buf.write("\65\3\66\3\66\3\66\3\66\3\66\3\66\3\66\3\67\3\67\3\67") buf.write("\5\67\u023d\n\67\3\67\3\67\3\67\38\38\38\58\u0245\n8\3") buf.write("8\38\39\39\39\39\3:\3:\3:\3:\5:\u0251\n:\3:\3:\5:\u0255") buf.write("\n:\3:\3:\3;\3;\3;\3;\5;\u025d\n;\3;\3;\5;\u0261\n;\3") buf.write(";\3;\3<\3<\3<\3<\5<\u0269\n<\3<\5<\u026c\n<\3<\3<\3<\3") buf.write("=\3=\3=\3=\5=\u0275\n=\3=\3=\3>\3>\3>\3?\3?\3?\3?\5?\u0280") buf.write("\n?\3?\5?\u0283\n?\3?\3?\5?\u0287\n?\3?\3?\7?\u028b\n") buf.write("?\f?\16?\u028e\13?\3?\3?\3@\3@\3@\3@\3@\3@\3@\3@\3@\5") buf.write("@\u029b\n@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\5@\u02a9") buf.write("\n@\3@\3@\5@\u02ad\n@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3") buf.write("@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3@\3") buf.write("@\3@\3@\3@\3@\3@\3@\7@\u02d2\n@\f@\16@\u02d5\13@\3A\3") buf.write("A\3A\7A\u02da\nA\fA\16A\u02dd\13A\3B\3B\3B\5B\u02e2\n") buf.write("B\3C\3C\3C\3D\5D\u02e8\nD\3D\3D\5D\u02ec\nD\3D\3D\5D\u02f0") buf.write("\nD\3E\3E\3E\3E\7E\u02f6\nE\fE\16E\u02f9\13E\3E\5E\u02fc") buf.write("\nE\3E\3E\3F\3F\3F\5F\u0303\nF\3F\3F\3F\5F\u0308\nF\7") buf.write("F\u030a\nF\fF\16F\u030d\13F\3F\5F\u0310\nF\3F\3F\3G\3") buf.write("G\3G\3G\5G\u0318\nG\3G\3G\3G\5G\u031d\nG\7G\u031f\nG\f") buf.write("G\16G\u0322\13G\3G\5G\u0325\nG\5G\u0327\nG\3G\3G\3H\3") buf.write("H\7H\u032d\nH\fH\16H\u0330\13H\3I\3I\3I\3J\3J\3J\3J\3") buf.write("J\3J\3J\3J\3J\3J\3J\5J\u0340\nJ\5J\u0342\nJ\3J\3J\3K\3") buf.write("K\5K\u0348\nK\3K\3K\5K\u034c\nK\3K\3K\5K\u0350\nK\3K\3") buf.write("K\5K\u0354\nK\3K\3K\5K\u0358\nK\3K\3K\3K\3K\3K\3K\3K\3") buf.write("K\5K\u0362\nK\5K\u0364\nK\3L\3L\5L\u0368\nL\3M\3M\3M\3") buf.write("M\3M\3M\3M\3N\3N\3N\3N\3N\3N\3N\3N\3N\5N\u037a\nN\3N\3") buf.write("N\3O\3O\3O\3O\3P\3P\5P\u0384\nP\3Q\3Q\3Q\3Q\5Q\u038a\n") buf.write("Q\5Q\u038c\nQ\3R\3R\3S\3S\3S\3S\3S\3S\3S\3S\3S\5S\u0399") buf.write("\nS\3S\3S\3S\5S\u039e\nS\3T\3T\3T\7T\u03a3\nT\fT\16T\u03a6") buf.write("\13T\3T\5T\u03a9\nT\3U\3U\3U\7U\u03ae\nU\fU\16U\u03b1") buf.write("\13U\3U\5U\u03b4\nU\3V\3V\3V\7V\u03b9\nV\fV\16V\u03bc") buf.write("\13V\3V\5V\u03bf\nV\3W\3W\3W\7W\u03c4\nW\fW\16W\u03c7") buf.write("\13W\3W\5W\u03ca\nW\3X\3X\3X\7X\u03cf\nX\fX\16X\u03d2") buf.write("\13X\3X\5X\u03d5\nX\3Y\3Y\3Y\7Y\u03da\nY\fY\16Y\u03dd") buf.write("\13Y\3Y\5Y\u03e0\nY\3Y\3\u028c\3~Z\2\4\6\b\n\f\16\20\22") buf.write("\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPR") buf.write("TVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088") buf.write("\u008a\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a") buf.write("\u009c\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac") buf.write("\u00ae\u00b0\2\22\3\2\t\n\3\2\f\16\3\2\17\23\5\2qqttx") buf.write("x\4\2ttxx\4\2^^``\3\2\27\37\3\2\65\66\4\299;;\4\2\\\\") buf.write("mm\4\2``jk\4\2QQqz\4\2aacd\3\2IJ\3\2\678\3\2vw\2\u042f") buf.write("\2\u00b6\3\2\2\2\4\u00b8\3\2\2\2\6\u00bf\3\2\2\2\b\u00c2") buf.write("\3\2\2\2\n\u00cd\3\2\2\2\f\u00d8\3\2\2\2\16\u00e0\3\2") buf.write("\2\2\20\u00e2\3\2\2\2\22\u00e4\3\2\2\2\24\u00e6\3\2\2") buf.write("\2\26\u00ea\3\2\2\2\30\u00f5\3\2\2\2\32\u00f7\3\2\2\2") buf.write("\34\u00fa\3\2\2\2\36\u00fc\3\2\2\2 \u0104\3\2\2\2\"\u010a") buf.write("\3\2\2\2$\u0114\3\2\2\2&\u0118\3\2\2\2(\u011d\3\2\2\2") buf.write("*\u0123\3\2\2\2,\u0125\3\2\2\2.\u0134\3\2\2\2\60\u0136") buf.write("\3\2\2\2\62\u0146\3\2\2\2\64\u0148\3\2\2\2\66\u0150\3") buf.write("\2\2\28\u0158\3\2\2\2:\u015b\3\2\2\2<\u0165\3\2\2\2>\u018d") buf.write("\3\2\2\2@\u018f\3\2\2\2B\u0193\3\2\2\2D\u019c\3\2\2\2") buf.write("F\u01a1\3\2\2\2H\u01a3\3\2\2\2J\u01a7\3\2\2\2L\u01ab\3") buf.write("\2\2\2N\u01ae\3\2\2\2P\u01b1\3\2\2\2R\u01b4\3\2\2\2T\u01c2") buf.write("\3\2\2\2V\u01cb\3\2\2\2X\u01d2\3\2\2\2Z\u01d8\3\2\2\2") buf.write("\\\u01de\3\2\2\2^\u01e4\3\2\2\2`\u0214\3\2\2\2b\u0216") buf.write("\3\2\2\2d\u021d\3\2\2\2f\u0221\3\2\2\2h\u0229\3\2\2\2") buf.write("j\u0232\3\2\2\2l\u0239\3\2\2\2n\u0241\3\2\2\2p\u0248\3") buf.write("\2\2\2r\u024c\3\2\2\2t\u0258\3\2\2\2v\u0264\3\2\2\2x\u0270") buf.write("\3\2\2\2z\u0278\3\2\2\2|\u027b\3\2\2\2~\u02ac\3\2\2\2") buf.write("\u0080\u02d6\3\2\2\2\u0082\u02e1\3\2\2\2\u0084\u02e3\3") buf.write("\2\2\2\u0086\u02e7\3\2\2\2\u0088\u02f1\3\2\2\2\u008a\u02ff") buf.write("\3\2\2\2\u008c\u0313\3\2\2\2\u008e\u032a\3\2\2\2\u0090") buf.write("\u0331\3\2\2\2\u0092\u0341\3\2\2\2\u0094\u0363\3\2\2\2") buf.write("\u0096\u0365\3\2\2\2\u0098\u0369\3\2\2\2\u009a\u0370\3") buf.write("\2\2\2\u009c\u037d\3\2\2\2\u009e\u0383\3\2\2\2\u00a0\u038b") buf.write("\3\2\2\2\u00a2\u038d\3\2\2\2\u00a4\u039d\3\2\2\2\u00a6") buf.write("\u039f\3\2\2\2\u00a8\u03aa\3\2\2\2\u00aa\u03b5\3\2\2\2") buf.write("\u00ac\u03c0\3\2\2\2\u00ae\u03cb\3\2\2\2\u00b0\u03d6\3") buf.write("\2\2\2\u00b2\u00b7\5\f\7\2\u00b3\u00b7\5\4\3\2\u00b4\u00b7") buf.write("\5\60\31\2\u00b5\u00b7\5\6\4\2\u00b6\u00b2\3\2\2\2\u00b6") buf.write("\u00b3\3\2\2\2\u00b6\u00b4\3\2\2\2\u00b6\u00b5\3\2\2\2") buf.write("\u00b7\3\3\2\2\2\u00b8\u00b9\7\3\2\2\u00b9\u00ba\7\4\2") buf.write("\2\u00ba\u00bb\7V\2\2\u00bb\u00bc\5\b\5\2\u00bc\u00bd") buf.write("\7W\2\2\u00bd\u00be\5\30\r\2\u00be\5\3\2\2\2\u00bf\u00c0") buf.write("\7\3\2\2\u00c0\u00c1\7\7\2\2\u00c1\7\3\2\2\2\u00c2\u00c3") buf.write("\7R\2\2\u00c3\u00c8\5\n\6\2\u00c4\u00c5\7[\2\2\u00c5\u00c7") buf.write("\5\n\6\2\u00c6\u00c4\3\2\2\2\u00c7\u00ca\3\2\2\2\u00c8") buf.write("\u00c6\3\2\2\2\u00c8\u00c9\3\2\2\2\u00c9\u00cb\3\2\2\2") buf.write("\u00ca\u00c8\3\2\2\2\u00cb\u00cc\7S\2\2\u00cc\t\3\2\2") buf.write("\2\u00cd\u00ce\7R\2\2\u00ce\u00d3\5.\30\2\u00cf\u00d0") buf.write("\7[\2\2\u00d0\u00d2\5.\30\2\u00d1\u00cf\3\2\2\2\u00d2") buf.write("\u00d5\3\2\2\2\u00d3\u00d1\3\2\2\2\u00d3\u00d4\3\2\2\2") buf.write("\u00d4\u00d6\3\2\2\2\u00d5\u00d3\3\2\2\2\u00d6\u00d7\7") buf.write("S\2\2\u00d7\13\3\2\2\2\u00d8\u00d9\7\3\2\2\u00d9\u00da") buf.write("\7\5\2\2\u00da\u00db\5\16\b\2\u00db\r\3\2\2\2\u00dc\u00e1") buf.write("\5\20\t\2\u00dd\u00e1\5\24\13\2\u00de\u00e1\5\32\16\2") buf.write("\u00df\u00e1\5 \21\2\u00e0\u00dc\3\2\2\2\u00e0\u00dd\3") buf.write("\2\2\2\u00e0\u00de\3\2\2\2\u00e0\u00df\3\2\2\2\u00e1\17") buf.write("\3\2\2\2\u00e2\u00e3\5\22\n\2\u00e3\21\3\2\2\2\u00e4\u00e5") buf.write("\7\b\2\2\u00e5\23\3\2\2\2\u00e6\u00e8\5\26\f\2\u00e7\u00e9") buf.write("\5\30\r\2\u00e8\u00e7\3\2\2\2\u00e8\u00e9\3\2\2\2\u00e9") buf.write("\25\3\2\2\2\u00ea\u00eb\t\2\2\2\u00eb\27\3\2\2\2\u00ec") buf.write("\u00f1\5\u008eH\2\u00ed\u00ee\7[\2\2\u00ee\u00f0\5\u008e") buf.write("H\2\u00ef\u00ed\3\2\2\2\u00f0\u00f3\3\2\2\2\u00f1\u00ef") buf.write("\3\2\2\2\u00f1\u00f2\3\2\2\2\u00f2\u00f6\3\2\2\2\u00f3") buf.write("\u00f1\3\2\2\2\u00f4\u00f6\7\25\2\2\u00f5\u00ec\3\2\2") buf.write("\2\u00f5\u00f4\3\2\2\2\u00f6\31\3\2\2\2\u00f7\u00f8\5") buf.write("\34\17\2\u00f8\u00f9\5\36\20\2\u00f9\33\3\2\2\2\u00fa") buf.write("\u00fb\7\13\2\2\u00fb\35\3\2\2\2\u00fc\u0101\7z\2\2\u00fd") buf.write("\u00fe\7[\2\2\u00fe\u0100\7z\2\2\u00ff\u00fd\3\2\2\2\u0100") buf.write("\u0103\3\2\2\2\u0101\u00ff\3\2\2\2\u0101\u0102\3\2\2\2") buf.write("\u0102\37\3\2\2\2\u0103\u0101\3\2\2\2\u0104\u0105\5*\26") buf.write("\2\u0105\u0106\5\"\22\2\u0106!\3\2\2\2\u0107\u010b\5$") buf.write("\23\2\u0108\u010b\5&\24\2\u0109\u010b\5(\25\2\u010a\u0107") buf.write("\3\2\2\2\u010a\u0108\3\2\2\2\u010a\u0109\3\2\2\2\u010b") buf.write("#\3\2\2\2\u010c\u010d\5,\27\2\u010d\u010e\7V\2\2\u010e") buf.write("\u010f\5\u008eH\2\u010f\u0110\7W\2\2\u0110\u0115\3\2\2") buf.write("\2\u0111\u0112\5,\27\2\u0112\u0113\7\25\2\2\u0113\u0115") buf.write("\3\2\2\2\u0114\u010c\3\2\2\2\u0114\u0111\3\2\2\2\u0115") buf.write("%\3\2\2\2\u0116\u0119\5$\23\2\u0117\u0119\5(\25\2\u0118") buf.write("\u0116\3\2\2\2\u0118\u0117\3\2\2\2\u0119\u011a\3\2\2\2") buf.write("\u011a\u011b\7\26\2\2\u011b\u011c\5\"\22\2\u011c\'\3\2") buf.write("\2\2\u011d\u011e\7\24\2\2\u011e\u011f\7V\2\2\u011f\u0120") buf.write("\5\b\5\2\u0120\u0121\7W\2\2\u0121\u0122\5\30\r\2\u0122") buf.write(")\3\2\2\2\u0123\u0124\t\3\2\2\u0124+\3\2\2\2\u0125\u0126") buf.write("\t\4\2\2\u0126-\3\2\2\2\u0127\u0129\7`\2\2\u0128\u0127") buf.write("\3\2\2\2\u0128\u0129\3\2\2\2\u0129\u012a\3\2\2\2\u012a") buf.write("\u0135\t\5\2\2\u012b\u012d\7`\2\2\u012c\u012b\3\2\2\2") buf.write("\u012c\u012d\3\2\2\2\u012d\u012e\3\2\2\2\u012e\u012f\t") buf.write("\6\2\2\u012f\u0131\t\7\2\2\u0130\u0132\7`\2\2\u0131\u0130") buf.write("\3\2\2\2\u0131\u0132\3\2\2\2\u0132\u0133\3\2\2\2\u0133") buf.write("\u0135\7q\2\2\u0134\u0128\3\2\2\2\u0134\u012c\3\2\2\2") buf.write("\u0135/\3\2\2\2\u0136\u0137\7\3\2\2\u0137\u0138\7\6\2") buf.write("\2\u0138\u0139\5\62\32\2\u0139\61\3\2\2\2\u013a\u013b") buf.write("\58\35\2\u013b\u013c\7V\2\2\u013c\u013d\5\66\34\2\u013d") buf.write("\u013e\7W\2\2\u013e\u013f\5\30\r\2\u013f\u0147\3\2\2\2") buf.write("\u0140\u0141\7 \2\2\u0141\u0142\7V\2\2\u0142\u0143\5\64") buf.write("\33\2\u0143\u0144\7W\2\2\u0144\u0145\5\30\r\2\u0145\u0147") buf.write("\3\2\2\2\u0146\u013a\3\2\2\2\u0146\u0140\3\2\2\2\u0147") buf.write("\63\3\2\2\2\u0148\u014d\5\b\5\2\u0149\u014a\7[\2\2\u014a") buf.write("\u014c\5\b\5\2\u014b\u0149\3\2\2\2\u014c\u014f\3\2\2\2") buf.write("\u014d\u014b\3\2\2\2\u014d\u014e\3\2\2\2\u014e\65\3\2") buf.write("\2\2\u014f\u014d\3\2\2\2\u0150\u0155\7x\2\2\u0151\u0152") buf.write("\7[\2\2\u0152\u0154\7x\2\2\u0153\u0151\3\2\2\2\u0154\u0157") buf.write("\3\2\2\2\u0155\u0153\3\2\2\2\u0155\u0156\3\2\2\2\u0156") buf.write("\67\3\2\2\2\u0157\u0155\3\2\2\2\u0158\u0159\t\b\2\2\u0159") buf.write("9\3\2\2\2\u015a\u015c\5<\37\2\u015b\u015a\3\2\2\2\u015b") buf.write("\u015c\3\2\2\2\u015c\u0160\3\2\2\2\u015d\u015f\5> \2\u015e") buf.write("\u015d\3\2\2\2\u015f\u0162\3\2\2\2\u0160\u015e\3\2\2\2") buf.write("\u0160\u0161\3\2\2\2\u0161\u0163\3\2\2\2\u0162\u0160\3") buf.write("\2\2\2\u0163\u0164\7\2\2\3\u0164;\3\2\2\2\u0165\u0166") buf.write("\7!\2\2\u0166\u0167\7\u0081\2\2\u0167\u0168\7Y\2\2\u0168") buf.write("=\3\2\2\2\u0169\u018e\5D#\2\u016a\u016c\5@!\2\u016b\u016a") buf.write("\3\2\2\2\u016c\u016f\3\2\2\2\u016d\u016b\3\2\2\2\u016d") buf.write("\u016e\3\2\2\2\u016e\u018b\3\2\2\2\u016f\u016d\3\2\2\2") buf.write("\u0170\u018c\5f\64\2\u0171\u018c\5x=\2\u0172\u018c\5Z") buf.write(".\2\u0173\u018c\5\\/\2\u0174\u018c\5L\'\2\u0175\u018c") buf.write("\5H%\2\u0176\u018c\5h\65\2\u0177\u018c\5j\66\2\u0178\u018c") buf.write("\5N(\2\u0179\u018c\5r:\2\u017a\u018c\5|?\2\u017b\u018c") buf.write("\5^\60\2\u017c\u018c\5P)\2\u017d\u018c\5z>\2\u017e\u018c") buf.write("\5t;\2\u017f\u018c\5R*\2\u0180\u018c\5`\61\2\u0181\u018c") buf.write("\5v<\2\u0182\u018c\5T+\2\u0183\u018c\5J&\2\u0184\u018c") buf.write("\5l\67\2\u0185\u018c\5b\62\2\u0186\u018c\5n8\2\u0187\u018c") buf.write("\5p9\2\u0188\u018c\5d\63\2\u0189\u018c\5V,\2\u018a\u018c") buf.write("\5X-\2\u018b\u0170\3\2\2\2\u018b\u0171\3\2\2\2\u018b\u0172") buf.write("\3\2\2\2\u018b\u0173\3\2\2\2\u018b\u0174\3\2\2\2\u018b") buf.write("\u0175\3\2\2\2\u018b\u0176\3\2\2\2\u018b\u0177\3\2\2\2") buf.write("\u018b\u0178\3\2\2\2\u018b\u0179\3\2\2\2\u018b\u017a\3") buf.write("\2\2\2\u018b\u017b\3\2\2\2\u018b\u017c\3\2\2\2\u018b\u017d") buf.write("\3\2\2\2\u018b\u017e\3\2\2\2\u018b\u017f\3\2\2\2\u018b") buf.write("\u0180\3\2\2\2\u018b\u0181\3\2\2\2\u018b\u0182\3\2\2\2") buf.write("\u018b\u0183\3\2\2\2\u018b\u0184\3\2\2\2\u018b\u0185\3") buf.write("\2\2\2\u018b\u0186\3\2\2\2\u018b\u0187\3\2\2\2\u018b\u0188") buf.write("\3\2\2\2\u018b\u0189\3\2\2\2\u018b\u018a\3\2\2\2\u018c") buf.write("\u018e\3\2\2\2\u018d\u0169\3\2\2\2\u018d\u016d\3\2\2\2") buf.write("\u018e?\3\2\2\2\u018f\u0191\7\64\2\2\u0190\u0192\7\u0084") buf.write("\2\2\u0191\u0190\3\2\2\2\u0191\u0192\3\2\2\2\u0192A\3") buf.write("\2\2\2\u0193\u0197\7T\2\2\u0194\u0196\5> \2\u0195\u0194") buf.write("\3\2\2\2\u0196\u0199\3\2\2\2\u0197\u0195\3\2\2\2\u0197") buf.write("\u0198\3\2\2\2\u0198\u019a\3\2\2\2\u0199\u0197\3\2\2\2") buf.write("\u019a\u019b\7U\2\2\u019bC\3\2\2\2\u019c\u019d\7\63\2") buf.write("\2\u019d\u019e\7\u0084\2\2\u019eE\3\2\2\2\u019f\u01a2") buf.write("\5> \2\u01a0\u01a2\5B\"\2\u01a1\u019f\3\2\2\2\u01a1\u01a0") buf.write("\3\2\2\2\u01a2G\3\2\2\2\u01a3\u01a4\7#\2\2\u01a4\u01a5") buf.write("\7{\2\2\u01a5\u01a6\7Y\2\2\u01a6I\3\2\2\2\u01a7\u01a8") buf.write("\7\"\2\2\u01a8\u01a9\7{\2\2\u01a9\u01aa\7Y\2\2\u01aaK") buf.write("\3\2\2\2\u01ab\u01ac\7*\2\2\u01ac\u01ad\7Y\2\2\u01adM") buf.write("\3\2\2\2\u01ae\u01af\7+\2\2\u01af\u01b0\7Y\2\2\u01b0O") buf.write("\3\2\2\2\u01b1\u01b2\7.\2\2\u01b2\u01b3\7Y\2\2\u01b3Q") buf.write("\3\2\2\2\u01b4\u01b5\7\60\2\2\u01b5\u01b6\5\u0094K\2\u01b6") buf.write("\u01b7\7v\2\2\u01b7\u01be\7\62\2\2\u01b8\u01bf\5\u0088") buf.write("E\2\u01b9\u01ba\7R\2\2\u01ba\u01bb\5\u0086D\2\u01bb\u01bc") buf.write("\7S\2\2\u01bc\u01bf\3\2\2\2\u01bd\u01bf\7v\2\2\u01be\u01b8") buf.write("\3\2\2\2\u01be\u01b9\3\2\2\2\u01be\u01bd\3\2\2\2\u01bf") buf.write("\u01c0\3\2\2\2\u01c0\u01c1\5F$\2\u01c1S\3\2\2\2\u01c2") buf.write("\u01c3\7,\2\2\u01c3\u01c4\7V\2\2\u01c4\u01c5\5~@\2\u01c5") buf.write("\u01c6\7W\2\2\u01c6\u01c9\5F$\2\u01c7\u01c8\7-\2\2\u01c8") buf.write("\u01ca\5F$\2\u01c9\u01c7\3\2\2\2\u01c9\u01ca\3\2\2\2\u01ca") buf.write("U\3\2\2\2\u01cb\u01ce\7/\2\2\u01cc\u01cf\5~@\2\u01cd\u01cf") buf.write("\5\u0084C\2\u01ce\u01cc\3\2\2\2\u01ce\u01cd\3\2\2\2\u01ce") buf.write("\u01cf\3\2\2\2\u01cf\u01d0\3\2\2\2\u01d0\u01d1\7Y\2\2") buf.write("\u01d1W\3\2\2\2\u01d2\u01d3\7\61\2\2\u01d3\u01d4\7V\2") buf.write("\2\u01d4\u01d5\5~@\2\u01d5\u01d6\7W\2\2\u01d6\u01d7\5") buf.write("F$\2\u01d7Y\3\2\2\2\u01d8\u01da\7P\2\2\u01d9\u01db\5\u00ae") buf.write("X\2\u01da\u01d9\3\2\2\2\u01da\u01db\3\2\2\2\u01db\u01dc") buf.write("\3\2\2\2\u01dc\u01dd\7Y\2\2\u01dd[\3\2\2\2\u01de\u01e0") buf.write("\7(\2\2\u01df\u01e1\5\u009cO\2\u01e0\u01df\3\2\2\2\u01e0") buf.write("\u01e1\3\2\2\2\u01e1\u01e2\3\2\2\2\u01e2\u01e3\5B\"\2") buf.write("\u01e3]\3\2\2\2\u01e4\u01e5\7M\2\2\u01e5\u01e7\5\u009c") buf.write("O\2\u01e6\u01e8\5\u00aeX\2\u01e7\u01e6\3\2\2\2\u01e7\u01e8") buf.write("\3\2\2\2\u01e8\u01e9\3\2\2\2\u01e9\u01ea\7Y\2\2\u01ea") buf.write("_\3\2\2\2\u01eb\u01ed\5\u0092J\2\u01ec\u01eb\3\2\2\2\u01ed") buf.write("\u01f0\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ee\u01ef\3\2\2\2") buf.write("\u01ef\u01f1\3\2\2\2\u01f0\u01ee\3\2\2\2\u01f1\u01f7\7") buf.write("v\2\2\u01f2\u01f4\7V\2\2\u01f3\u01f5\5\u00a8U\2\u01f4") buf.write("\u01f3\3\2\2\2\u01f4\u01f5\3\2\2\2\u01f5\u01f6\3\2\2\2") buf.write("\u01f6\u01f8\7W\2\2\u01f7\u01f2\3\2\2\2\u01f7\u01f8\3") buf.write("\2\2\2\u01f8\u01fa\3\2\2\2\u01f9\u01fb\5\u009cO\2\u01fa") buf.write("\u01f9\3\2\2\2\u01fa\u01fb\3\2\2\2\u01fb\u01fc\3\2\2\2") buf.write("\u01fc\u01fd\5\u00aeX\2\u01fd\u01fe\7Y\2\2\u01fe\u0215") buf.write("\3\2\2\2\u01ff\u0201\5\u0092J\2\u0200\u01ff\3\2\2\2\u0201") buf.write("\u0204\3\2\2\2\u0202\u0200\3\2\2\2\u0202\u0203\3\2\2\2") buf.write("\u0203\u0205\3\2\2\2\u0204\u0202\3\2\2\2\u0205\u020b\7") buf.write("F\2\2\u0206\u0208\7V\2\2\u0207\u0209\5\u00a8U\2\u0208") buf.write("\u0207\3\2\2\2\u0208\u0209\3\2\2\2\u0209\u020a\3\2\2\2") buf.write("\u020a\u020c\7W\2\2\u020b\u0206\3\2\2\2\u020b\u020c\3") buf.write("\2\2\2\u020c\u020e\3\2\2\2\u020d\u020f\5\u009cO\2\u020e") buf.write("\u020d\3\2\2\2\u020e\u020f\3\2\2\2\u020f\u0211\3\2\2\2") buf.write("\u0210\u0212\5\u00aeX\2\u0211\u0210\3\2\2\2\u0211\u0212") buf.write("\3\2\2\2\u0212\u0213\3\2\2\2\u0213\u0215\7Y\2\2\u0214") buf.write("\u01ee\3\2\2\2\u0214\u0202\3\2\2\2\u0215a\3\2\2\2\u0216") buf.write("\u0219\5\u0084C\2\u0217\u0218\7]\2\2\u0218\u021a\5\u008e") buf.write("H\2\u0219\u0217\3\2\2\2\u0219\u021a\3\2\2\2\u021a\u021b") buf.write("\3\2\2\2\u021b\u021c\7Y\2\2\u021cc\3\2\2\2\u021d\u021e") buf.write("\7N\2\2\u021e\u021f\5\u009eP\2\u021f\u0220\7Y\2\2\u0220") buf.write("e\3\2\2\2\u0221\u0222\7)\2\2\u0222\u0223\7v\2\2\u0223") buf.write("\u0224\7\\\2\2\u0224\u0225\5\u0080A\2\u0225\u0226\7Y\2") buf.write("\2\u0226g\3\2\2\2\u0227\u022a\5\u0094K\2\u0228\u022a\5") buf.write("\u0098M\2\u0229\u0227\3\2\2\2\u0229\u0228\3\2\2\2\u022a") buf.write("\u022b\3\2\2\2\u022b\u022e\7v\2\2\u022c\u022d\7\\\2\2") buf.write("\u022d\u022f\5\u0082B\2\u022e\u022c\3\2\2\2\u022e\u022f") buf.write("\3\2\2\2\u022f\u0230\3\2\2\2\u0230\u0231\7Y\2\2\u0231") buf.write("i\3\2\2\2\u0232\u0233\7\67\2\2\u0233\u0234\5\u0094K\2") buf.write("\u0234\u0235\7v\2\2\u0235\u0236\7\\\2\2\u0236\u0237\5") buf.write("\u0082B\2\u0237\u0238\7Y\2\2\u0238k\3\2\2\2\u0239\u023c") buf.write("\t\t\2\2\u023a\u023d\5\u0094K\2\u023b\u023d\5\u0098M\2") buf.write("\u023c\u023a\3\2\2\2\u023c\u023b\3\2\2\2\u023d\u023e\3") buf.write("\2\2\2\u023e\u023f\7v\2\2\u023f\u0240\7Y\2\2\u0240m\3") buf.write("\2\2\2\u0241\u0242\t\n\2\2\u0242\u0244\7v\2\2\u0243\u0245") buf.write("\5\u009cO\2\u0244\u0243\3\2\2\2\u0244\u0245\3\2\2\2\u0245") buf.write("\u0246\3\2\2\2\u0246\u0247\7Y\2\2\u0247o\3\2\2\2\u0248") buf.write("\u0249\5\u0096L\2\u0249\u024a\7v\2\2\u024a\u024b\7Y\2") buf.write("\2\u024bq\3\2\2\2\u024c\u024d\7$\2\2\u024d\u024e\7v\2") buf.write("\2\u024e\u0250\7V\2\2\u024f\u0251\5\u00a6T\2\u0250\u024f") buf.write("\3\2\2\2\u0250\u0251\3\2\2\2\u0251\u0252\3\2\2\2\u0252") buf.write("\u0254\7W\2\2\u0253\u0255\5\u0090I\2\u0254\u0253\3\2\2") buf.write("\2\u0254\u0255\3\2\2\2\u0255\u0256\3\2\2\2\u0256\u0257") buf.write("\5B\"\2\u0257s\3\2\2\2\u0258\u0259\7\'\2\2\u0259\u025a") buf.write("\7v\2\2\u025a\u025c\7V\2\2\u025b\u025d\5\u00b0Y\2\u025c") buf.write("\u025b\3\2\2\2\u025c\u025d\3\2\2\2\u025d\u025e\3\2\2\2") buf.write("\u025e\u0260\7W\2\2\u025f\u0261\5\u0090I\2\u0260\u025f") buf.write("\3\2\2\2\u0260\u0261\3\2\2\2\u0261\u0262\3\2\2\2\u0262") buf.write("\u0263\7Y\2\2\u0263u\3\2\2\2\u0264\u0265\7&\2\2\u0265") buf.write("\u026b\7v\2\2\u0266\u0268\7V\2\2\u0267\u0269\5\u00acW") buf.write("\2\u0268\u0267\3\2\2\2\u0268\u0269\3\2\2\2\u0269\u026a") buf.write("\3\2\2\2\u026a\u026c\7W\2\2\u026b\u0266\3\2\2\2\u026b") buf.write("\u026c\3\2\2\2\u026c\u026d\3\2\2\2\u026d\u026e\5\u00ac") buf.write("W\2\u026e\u026f\5B\"\2\u026fw\3\2\2\2\u0270\u0271\5\u008e") buf.write("H\2\u0271\u0274\t\13\2\2\u0272\u0275\5~@\2\u0273\u0275") buf.write("\5\u0084C\2\u0274\u0272\3\2\2\2\u0274\u0273\3\2\2\2\u0275") buf.write("\u0276\3\2\2\2\u0276\u0277\7Y\2\2\u0277y\3\2\2\2\u0278") buf.write("\u0279\5~@\2\u0279\u027a\7Y\2\2\u027a{\3\2\2\2\u027b\u027c") buf.write("\7%\2\2\u027c\u0282\7v\2\2\u027d\u027f\7V\2\2\u027e\u0280") buf.write("\5\u00a6T\2\u027f\u027e\3\2\2\2\u027f\u0280\3\2\2\2\u0280") buf.write("\u0281\3\2\2\2\u0281\u0283\7W\2\2\u0282\u027d\3\2\2\2") buf.write("\u0282\u0283\3\2\2\2\u0283\u0284\3\2\2\2\u0284\u0286\5") buf.write("\u00aaV\2\u0285\u0287\5\u0090I\2\u0286\u0285\3\2\2\2\u0286") buf.write("\u0287\3\2\2\2\u0287\u0288\3\2\2\2\u0288\u028c\7T\2\2") buf.write("\u0289\u028b\13\2\2\2\u028a\u0289\3\2\2\2\u028b\u028e") buf.write("\3\2\2\2\u028c\u028d\3\2\2\2\u028c\u028a\3\2\2\2\u028d") buf.write("\u028f\3\2\2\2\u028e\u028c\3\2\2\2\u028f\u0290\7U\2\2") buf.write("\u0290}\3\2\2\2\u0291\u0292\b@\1\2\u0292\u0293\7V\2\2") buf.write("\u0293\u0294\5~@\2\u0294\u0295\7W\2\2\u0295\u02ad\3\2") buf.write("\2\2\u0296\u0297\t\f\2\2\u0297\u02ad\5~@\21\u0298\u029b") buf.write("\5\u0094K\2\u0299\u029b\5\u0098M\2\u029a\u0298\3\2\2\2") buf.write("\u029a\u0299\3\2\2\2\u029b\u029c\3\2\2\2\u029c\u029d\7") buf.write("V\2\2\u029d\u029e\5~@\2\u029e\u029f\7W\2\2\u029f\u02ad") buf.write("\3\2\2\2\u02a0\u02a1\7L\2\2\u02a1\u02a2\7V\2\2\u02a2\u02a3") buf.write("\5B\"\2\u02a3\u02a4\7W\2\2\u02a4\u02ad\3\2\2\2\u02a5\u02a6") buf.write("\7v\2\2\u02a6\u02a8\7V\2\2\u02a7\u02a9\5\u00a8U\2\u02a8") buf.write("\u02a7\3\2\2\2\u02a8\u02a9\3\2\2\2\u02a9\u02aa\3\2\2\2") buf.write("\u02aa\u02ad\7W\2\2\u02ab\u02ad\t\r\2\2\u02ac\u0291\3") buf.write("\2\2\2\u02ac\u0296\3\2\2\2\u02ac\u029a\3\2\2\2\u02ac\u02a0") buf.write("\3\2\2\2\u02ac\u02a5\3\2\2\2\u02ac\u02ab\3\2\2\2\u02ad") buf.write("\u02d3\3\2\2\2\u02ae\u02af\f\22\2\2\u02af\u02b0\7b\2\2") buf.write("\u02b0\u02d2\5~@\22\u02b1\u02b2\f\20\2\2\u02b2\u02b3\t") buf.write("\16\2\2\u02b3\u02d2\5~@\21\u02b4\u02b5\f\17\2\2\u02b5") buf.write("\u02b6\t\7\2\2\u02b6\u02d2\5~@\20\u02b7\u02b8\f\16\2\2") buf.write("\u02b8\u02b9\7o\2\2\u02b9\u02d2\5~@\17\u02ba\u02bb\f\r") buf.write("\2\2\u02bb\u02bc\7n\2\2\u02bc\u02d2\5~@\16\u02bd\u02be") buf.write("\f\f\2\2\u02be\u02bf\7l\2\2\u02bf\u02d2\5~@\r\u02c0\u02c1") buf.write("\f\13\2\2\u02c1\u02c2\7g\2\2\u02c2\u02d2\5~@\f\u02c3\u02c4") buf.write("\f\n\2\2\u02c4\u02c5\7i\2\2\u02c5\u02d2\5~@\13\u02c6\u02c7") buf.write("\f\t\2\2\u02c7\u02c8\7e\2\2\u02c8\u02d2\5~@\n\u02c9\u02ca") buf.write("\f\b\2\2\u02ca\u02cb\7h\2\2\u02cb\u02d2\5~@\t\u02cc\u02cd") buf.write("\f\7\2\2\u02cd\u02ce\7f\2\2\u02ce\u02d2\5~@\b\u02cf\u02d0") buf.write("\f\23\2\2\u02d0\u02d2\5\u008cG\2\u02d1\u02ae\3\2\2\2\u02d1") buf.write("\u02b1\3\2\2\2\u02d1\u02b4\3\2\2\2\u02d1\u02b7\3\2\2\2") buf.write("\u02d1\u02ba\3\2\2\2\u02d1\u02bd\3\2\2\2\u02d1\u02c0\3") buf.write("\2\2\2\u02d1\u02c3\3\2\2\2\u02d1\u02c6\3\2\2\2\u02d1\u02c9") buf.write("\3\2\2\2\u02d1\u02cc\3\2\2\2\u02d1\u02cf\3\2\2\2\u02d2") buf.write("\u02d5\3\2\2\2\u02d3\u02d1\3\2\2\2\u02d3\u02d4\3\2\2\2") buf.write("\u02d4\177\3\2\2\2\u02d5\u02d3\3\2\2\2\u02d6\u02db\5~") buf.write("@\2\u02d7\u02d8\7_\2\2\u02d8\u02da\5~@\2\u02d9\u02d7\3") buf.write("\2\2\2\u02da\u02dd\3\2\2\2\u02db\u02d9\3\2\2\2\u02db\u02dc") buf.write("\3\2\2\2\u02dc\u0081\3\2\2\2\u02dd\u02db\3\2\2\2\u02de") buf.write("\u02e2\5\u008aF\2\u02df\u02e2\5~@\2\u02e0\u02e2\5\u0084") buf.write("C\2\u02e1\u02de\3\2\2\2\u02e1\u02df\3\2\2\2\u02e1\u02e0") buf.write("\3\2\2\2\u02e2\u0083\3\2\2\2\u02e3\u02e4\7O\2\2\u02e4") buf.write("\u02e5\5\u009eP\2\u02e5\u0085\3\2\2\2\u02e6\u02e8\5~@") buf.write("\2\u02e7\u02e6\3\2\2\2\u02e7\u02e8\3\2\2\2\u02e8\u02e9") buf.write("\3\2\2\2\u02e9\u02eb\7X\2\2\u02ea\u02ec\5~@\2\u02eb\u02ea") buf.write("\3\2\2\2\u02eb\u02ec\3\2\2\2\u02ec\u02ef\3\2\2\2\u02ed") buf.write("\u02ee\7X\2\2\u02ee\u02f0\5~@\2\u02ef\u02ed\3\2\2\2\u02ef") buf.write("\u02f0\3\2\2\2\u02f0\u0087\3\2\2\2\u02f1\u02f2\7T\2\2") buf.write("\u02f2\u02f7\5~@\2\u02f3\u02f4\7[\2\2\u02f4\u02f6\5~@") buf.write("\2\u02f5\u02f3\3\2\2\2\u02f6\u02f9\3\2\2\2\u02f7\u02f5") buf.write("\3\2\2\2\u02f7\u02f8\3\2\2\2\u02f8\u02fb\3\2\2\2\u02f9") buf.write("\u02f7\3\2\2\2\u02fa\u02fc\7[\2\2\u02fb\u02fa\3\2\2\2") buf.write("\u02fb\u02fc\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u02fe\7") buf.write("U\2\2\u02fe\u0089\3\2\2\2\u02ff\u0302\7T\2\2\u0300\u0303") buf.write("\5~@\2\u0301\u0303\5\u008aF\2\u0302\u0300\3\2\2\2\u0302") buf.write("\u0301\3\2\2\2\u0303\u030b\3\2\2\2\u0304\u0307\7[\2\2") buf.write("\u0305\u0308\5~@\2\u0306\u0308\5\u008aF\2\u0307\u0305") buf.write("\3\2\2\2\u0307\u0306\3\2\2\2\u0308\u030a\3\2\2\2\u0309") buf.write("\u0304\3\2\2\2\u030a\u030d\3\2\2\2\u030b\u0309\3\2\2\2") buf.write("\u030b\u030c\3\2\2\2\u030c\u030f\3\2\2\2\u030d\u030b\3") buf.write("\2\2\2\u030e\u0310\7[\2\2\u030f\u030e\3\2\2\2\u030f\u0310") buf.write("\3\2\2\2\u0310\u0311\3\2\2\2\u0311\u0312\7U\2\2\u0312") buf.write("\u008b\3\2\2\2\u0313\u0326\7R\2\2\u0314\u0327\5\u0088") buf.write("E\2\u0315\u0318\5~@\2\u0316\u0318\5\u0086D\2\u0317\u0315") buf.write("\3\2\2\2\u0317\u0316\3\2\2\2\u0318\u0320\3\2\2\2\u0319") buf.write("\u031c\7[\2\2\u031a\u031d\5~@\2\u031b\u031d\5\u0086D\2") buf.write("\u031c\u031a\3\2\2\2\u031c\u031b\3\2\2\2\u031d\u031f\3") buf.write("\2\2\2\u031e\u0319\3\2\2\2\u031f\u0322\3\2\2\2\u0320\u031e") buf.write("\3\2\2\2\u0320\u0321\3\2\2\2\u0321\u0324\3\2\2\2\u0322") buf.write("\u0320\3\2\2\2\u0323\u0325\7[\2\2\u0324\u0323\3\2\2\2") buf.write("\u0324\u0325\3\2\2\2\u0325\u0327\3\2\2\2\u0326\u0314\3") buf.write("\2\2\2\u0326\u0317\3\2\2\2\u0327\u0328\3\2\2\2\u0328\u0329") buf.write("\7S\2\2\u0329\u008d\3\2\2\2\u032a\u032e\7v\2\2\u032b\u032d") buf.write("\5\u008cG\2\u032c\u032b\3\2\2\2\u032d\u0330\3\2\2\2\u032e") buf.write("\u032c\3\2\2\2\u032e\u032f\3\2\2\2\u032f\u008f\3\2\2\2") buf.write("\u0330\u032e\3\2\2\2\u0331\u0332\7]\2\2\u0332\u0333\5") buf.write("\u0094K\2\u0333\u0091\3\2\2\2\u0334\u0342\7G\2\2\u0335") buf.write("\u0336\7H\2\2\u0336\u0337\7V\2\2\u0337\u0338\5~@\2\u0338") buf.write("\u0339\7W\2\2\u0339\u0342\3\2\2\2\u033a\u033f\t\17\2\2") buf.write("\u033b\u033c\7V\2\2\u033c\u033d\5~@\2\u033d\u033e\7W\2") buf.write("\2\u033e\u0340\3\2\2\2\u033f\u033b\3\2\2\2\u033f\u0340") buf.write("\3\2\2\2\u0340\u0342\3\2\2\2\u0341\u0334\3\2\2\2\u0341") buf.write("\u0335\3\2\2\2\u0341\u033a\3\2\2\2\u0342\u0343\3\2\2\2") buf.write("\u0343\u0344\7\26\2\2\u0344\u0093\3\2\2\2\u0345\u0347") buf.write("\7=\2\2\u0346\u0348\5\u009cO\2\u0347\u0346\3\2\2\2\u0347") buf.write("\u0348\3\2\2\2\u0348\u0364\3\2\2\2\u0349\u034b\7>\2\2") buf.write("\u034a\u034c\5\u009cO\2\u034b\u034a\3\2\2\2\u034b\u034c") buf.write("\3\2\2\2\u034c\u0364\3\2\2\2\u034d\u034f\7?\2\2\u034e") buf.write("\u0350\5\u009cO\2\u034f\u034e\3\2\2\2\u034f\u0350\3\2") buf.write("\2\2\u0350\u0364\3\2\2\2\u0351\u0353\7@\2\2\u0352\u0354") buf.write("\5\u009cO\2\u0353\u0352\3\2\2\2\u0353\u0354\3\2\2\2\u0354") buf.write("\u0364\3\2\2\2\u0355\u0357\7A\2\2\u0356\u0358\5\u009c") buf.write("O\2\u0357\u0356\3\2\2\2\u0357\u0358\3\2\2\2\u0358\u0364") buf.write("\3\2\2\2\u0359\u0364\7<\2\2\u035a\u0364\7D\2\2\u035b\u0364") buf.write("\7E\2\2\u035c\u0361\7B\2\2\u035d\u035e\7R\2\2\u035e\u035f") buf.write("\5\u0094K\2\u035f\u0360\7S\2\2\u0360\u0362\3\2\2\2\u0361") buf.write("\u035d\3\2\2\2\u0361\u0362\3\2\2\2\u0362\u0364\3\2\2\2") buf.write("\u0363\u0345\3\2\2\2\u0363\u0349\3\2\2\2\u0363\u034d\3") buf.write("\2\2\2\u0363\u0351\3\2\2\2\u0363\u0355\3\2\2\2\u0363\u0359") buf.write("\3\2\2\2\u0363\u035a\3\2\2\2\u0363\u035b\3\2\2\2\u0363") buf.write("\u035c\3\2\2\2\u0364\u0095\3\2\2\2\u0365\u0367\7:\2\2") buf.write("\u0366\u0368\5\u009cO\2\u0367\u0366\3\2\2\2\u0367\u0368") buf.write("\3\2\2\2\u0368\u0097\3\2\2\2\u0369\u036a\7C\2\2\u036a") buf.write("\u036b\7R\2\2\u036b\u036c\5\u0094K\2\u036c\u036d\7[\2") buf.write("\2\u036d\u036e\5\u00a8U\2\u036e\u036f\7S\2\2\u036f\u0099") buf.write("\3\2\2\2\u0370\u0371\t\20\2\2\u0371\u0372\7C\2\2\u0372") buf.write("\u0373\7R\2\2\u0373\u0374\5\u0094K\2\u0374\u0379\7[\2") buf.write("\2\u0375\u037a\5\u00a8U\2\u0376\u0377\7K\2\2\u0377\u0378") buf.write("\7\\\2\2\u0378\u037a\5~@\2\u0379\u0375\3\2\2\2\u0379\u0376") buf.write("\3\2\2\2\u037a\u037b\3\2\2\2\u037b\u037c\7S\2\2\u037c") buf.write("\u009b\3\2\2\2\u037d\u037e\7R\2\2\u037e\u037f\5~@\2\u037f") buf.write("\u0380\7S\2\2\u0380\u009d\3\2\2\2\u0381\u0384\5\u008e") buf.write("H\2\u0382\u0384\7w\2\2\u0383\u0381\3\2\2\2\u0383\u0382") buf.write("\3\2\2\2\u0384\u009f\3\2\2\2\u0385\u038c\5\u0094K\2\u0386") buf.write("\u038c\5\u009aN\2\u0387\u0389\7;\2\2\u0388\u038a\5\u009c") buf.write("O\2\u0389\u0388\3\2\2\2\u0389\u038a\3\2\2\2\u038a\u038c") buf.write("\3\2\2\2\u038b\u0385\3\2\2\2\u038b\u0386\3\2\2\2\u038b") buf.write("\u0387\3\2\2\2\u038c\u00a1\3\2\2\2\u038d\u038e\t\21\2") buf.write("\2\u038e\u00a3\3\2\2\2\u038f\u0390\5\u0094K\2\u0390\u0391") buf.write("\7v\2\2\u0391\u039e\3\2\2\2\u0392\u0393\5\u0096L\2\u0393") buf.write("\u0394\7v\2\2\u0394\u039e\3\2\2\2\u0395\u0396\t\n\2\2") buf.write("\u0396\u0398\7v\2\2\u0397\u0399\5\u009cO\2\u0398\u0397") buf.write("\3\2\2\2\u0398\u0399\3\2\2\2\u0399\u039e\3\2\2\2\u039a") buf.write("\u039b\5\u009aN\2\u039b\u039c\7v\2\2\u039c\u039e\3\2\2") buf.write("\2\u039d\u038f\3\2\2\2\u039d\u0392\3\2\2\2\u039d\u0395") buf.write("\3\2\2\2\u039d\u039a\3\2\2\2\u039e\u00a5\3\2\2\2\u039f") buf.write("\u03a4\5\u00a4S\2\u03a0\u03a1\7[\2\2\u03a1\u03a3\5\u00a4") buf.write("S\2\u03a2\u03a0\3\2\2\2\u03a3\u03a6\3\2\2\2\u03a4\u03a2") buf.write("\3\2\2\2\u03a4\u03a5\3\2\2\2\u03a5\u03a8\3\2\2\2\u03a6") buf.write("\u03a4\3\2\2\2\u03a7\u03a9\7[\2\2\u03a8\u03a7\3\2\2\2") buf.write("\u03a8\u03a9\3\2\2\2\u03a9\u00a7\3\2\2\2\u03aa\u03af\5") buf.write("~@\2\u03ab\u03ac\7[\2\2\u03ac\u03ae\5~@\2\u03ad\u03ab") buf.write("\3\2\2\2\u03ae\u03b1\3\2\2\2\u03af\u03ad\3\2\2\2\u03af") buf.write("\u03b0\3\2\2\2\u03b0\u03b3\3\2\2\2\u03b1\u03af\3\2\2\2") buf.write("\u03b2\u03b4\7[\2\2\u03b3\u03b2\3\2\2\2\u03b3\u03b4\3") buf.write("\2\2\2\u03b4\u00a9\3\2\2\2\u03b5\u03ba\5\u00a2R\2\u03b6") buf.write("\u03b7\7[\2\2\u03b7\u03b9\5\u00a2R\2\u03b8\u03b6\3\2\2") buf.write("\2\u03b9\u03bc\3\2\2\2\u03ba\u03b8\3\2\2\2\u03ba\u03bb") buf.write("\3\2\2\2\u03bb\u03be\3\2\2\2\u03bc\u03ba\3\2\2\2\u03bd") buf.write("\u03bf\7[\2\2\u03be\u03bd\3\2\2\2\u03be\u03bf\3\2\2\2") buf.write("\u03bf\u00ab\3\2\2\2\u03c0\u03c5\7v\2\2\u03c1\u03c2\7") buf.write("[\2\2\u03c2\u03c4\7v\2\2\u03c3\u03c1\3\2\2\2\u03c4\u03c7") buf.write("\3\2\2\2\u03c5\u03c3\3\2\2\2\u03c5\u03c6\3\2\2\2\u03c6") buf.write("\u03c9\3\2\2\2\u03c7\u03c5\3\2\2\2\u03c8\u03ca\7[\2\2") buf.write("\u03c9\u03c8\3\2\2\2\u03c9\u03ca\3\2\2\2\u03ca\u00ad\3") buf.write("\2\2\2\u03cb\u03d0\5\u009eP\2\u03cc\u03cd\7[\2\2\u03cd") buf.write("\u03cf\5\u009eP\2\u03ce\u03cc\3\2\2\2\u03cf\u03d2\3\2") buf.write("\2\2\u03d0\u03ce\3\2\2\2\u03d0\u03d1\3\2\2\2\u03d1\u03d4") buf.write("\3\2\2\2\u03d2\u03d0\3\2\2\2\u03d3\u03d5\7[\2\2\u03d4") buf.write("\u03d3\3\2\2\2\u03d4\u03d5\3\2\2\2\u03d5\u00af\3\2\2\2") buf.write("\u03d6\u03db\5\u00a0Q\2\u03d7\u03d8\7[\2\2\u03d8\u03da") buf.write("\5\u00a0Q\2\u03d9\u03d7\3\2\2\2\u03da\u03dd\3\2\2\2\u03db") buf.write("\u03d9\3\2\2\2\u03db\u03dc\3\2\2\2\u03dc\u03df\3\2\2\2") buf.write("\u03dd\u03db\3\2\2\2\u03de\u03e0\7[\2\2\u03df\u03de\3") buf.write("\2\2\2\u03df\u03e0\3\2\2\2\u03e0\u00b1\3\2\2\2n\u00b6") buf.write("\u00c8\u00d3\u00e0\u00e8\u00f1\u00f5\u0101\u010a\u0114") buf.write("\u0118\u0128\u012c\u0131\u0134\u0146\u014d\u0155\u015b") buf.write("\u0160\u016d\u018b\u018d\u0191\u0197\u01a1\u01be\u01c9") buf.write("\u01ce\u01da\u01e0\u01e7\u01ee\u01f4\u01f7\u01fa\u0202") buf.write("\u0208\u020b\u020e\u0211\u0214\u0219\u0229\u022e\u023c") buf.write("\u0244\u0250\u0254\u025c\u0260\u0268\u026b\u0274\u027f") buf.write("\u0282\u0286\u028c\u029a\u02a8\u02ac\u02d1\u02d3\u02db") buf.write("\u02e1\u02e7\u02eb\u02ef\u02f7\u02fb\u0302\u0307\u030b") buf.write("\u030f\u0317\u031c\u0320\u0324\u0326\u032e\u033f\u0341") buf.write("\u0347\u034b\u034f\u0353\u0357\u0361\u0363\u0367\u0379") buf.write("\u0383\u0389\u038b\u0398\u039d\u03a4\u03a8\u03af\u03b3") buf.write("\u03ba\u03be\u03c5\u03c9\u03d0\u03d4\u03db\u03df") return buf.getvalue()
[docs] class BraketPragmasParser ( Parser ): grammarFileName = "BraketPragmasParser.g4" atn = ATNDeserializer().deserialize(serializedATN()) decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] sharedContextCache = PredictionContextCache() literalNames = [ "<INVALID>", "'braket'", "'unitary'", "'result'", "'noise'", "'verbatim'", "'state_vector'", "'probability'", "'density_matrix'", "'amplitude'", "'expectation'", "'variance'", "'sample'", "'x'", "'y'", "'z'", "'i'", "'h'", "'hermitian'", "'all'", "'@'", "'bit_flip'", "'phase_flip'", "'pauli_channel'", "'depolarizing'", "'two_qubit_depolarizing'", "'two_qubit_dephasing'", "'amplitude_damping'", "'generalized_amplitude_damping'", "'phase_damping'", "'kraus'", "'OPENQASM'", "'include'", "'defcalgrammar'", "'def'", "'defcal'", "'gate'", "'extern'", "'box'", "'let'", "'break'", "'continue'", "'if'", "'else'", "'end'", "'return'", "'for'", "'while'", "'in'", "<INVALID>", "<INVALID>", "'input'", "'output'", "'const'", "'mutable'", "'qreg'", "'qubit'", "'creg'", "'bool'", "'bit'", "'int'", "'uint'", "'float'", "'angle'", "'complex'", "'array'", "'duration'", "'stretch'", "'gphase'", "'inv'", "'pow'", "'ctrl'", "'negctrl'", "'#dim'", "'durationof'", "'delay'", "'reset'", "'measure'", "'barrier'", "<INVALID>", "'['", "']'", "'{'", "'}'", "'('", "')'", "':'", "';'", "'.'", "','", "'='", "'->'", "'+'", "'++'", "'-'", "'*'", "'**'", "'/'", "'%'", "'|'", "'||'", "'&'", "'&&'", "'^'", "'~'", "'!'", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "'im'" ] symbolicNames = [ "<INVALID>", "BRAKET", "UNITARY", "RESULT", "NOISE", "VERBATIM", "STATE_VECTOR", "PROBABILITY", "DENSITY_MATRIX", "AMPLITUDE", "EXPECTATION", "VARIANCE", "SAMPLE", "X", "Y", "Z", "I", "H", "HERMITIAN", "ALL", "AT", "BIT_FLIP", "PHASE_FLIP", "PAULI_CHANNEL", "DEPOLARIZING", "TWO_QUBIT_DEPOLARIZING", "TWO_QUBIT_DEPHASING", "AMPLITUDE_DAMPING", "GENERALIZED_AMPLITUDE_DAMPING", "PHASE_DAMPING", "KRAUS", "OPENQASM", "INCLUDE", "DEFCALGRAMMAR", "DEF", "DEFCAL", "GATE", "EXTERN", "BOX", "LET", "BREAK", "CONTINUE", "IF", "ELSE", "END", "RETURN", "FOR", "WHILE", "IN", "PRAGMA", "AnnotationKeyword", "INPUT", "OUTPUT", "CONST", "MUTABLE", "QREG", "QUBIT", "CREG", "BOOL", "BIT", "INT", "UINT", "FLOAT", "ANGLE", "COMPLEX", "ARRAY", "DURATION", "STRETCH", "GPHASE", "INV", "POW", "CTRL", "NEGCTRL", "DIM", "DURATIONOF", "DELAY", "RESET", "MEASURE", "BARRIER", "BooleanLiteral", "LBRACKET", "RBRACKET", "LBRACE", "RBRACE", "LPAREN", "RPAREN", "COLON", "SEMICOLON", "DOT", "COMMA", "EQUALS", "ARROW", "PLUS", "DOUBLE_PLUS", "MINUS", "ASTERISK", "DOUBLE_ASTERISK", "SLASH", "PERCENT", "PIPE", "DOUBLE_PIPE", "AMPERSAND", "DOUBLE_AMPERSAND", "CARET", "TILDE", "EXCLAMATION_POINT", "EqualityOperator", "CompoundAssignmentOperator", "ComparisonOperator", "BitshiftOperator", "IMAG", "ImaginaryLiteral", "BinaryIntegerLiteral", "OctalIntegerLiteral", "DecimalIntegerLiteral", "HexIntegerLiteral", "Identifier", "HardwareQubit", "FloatLiteral", "TimingLiteral", "BitstringLiteral", "StringLiteral", "Whitespace", "Newline", "LineComment", "BlockComment", "VERSION_IDENTIFER_WHITESPACE", "VersionSpecifier", "EAT_INITIAL_SPACE", "EAT_LINE_END", "RemainingLineContent" ] RULE_braketPragma = 0 RULE_braketUnitaryPragma = 1 RULE_braketVerbatimPragma = 2 RULE_twoDimMatrix = 3 RULE_row = 4 RULE_braketResultPragma = 5 RULE_resultType = 6 RULE_noArgResultType = 7 RULE_noArgResultTypeName = 8 RULE_optionalMultiTargetResultType = 9 RULE_optionalMultiTargetResultTypeName = 10 RULE_multiTarget = 11 RULE_multiStateResultType = 12 RULE_multiStateResultTypeName = 13 RULE_multiState = 14 RULE_observableResultType = 15 RULE_observable = 16 RULE_standardObservable = 17 RULE_tensorProductObservable = 18 RULE_hermitianObservable = 19 RULE_observableResultTypeName = 20 RULE_standardObservableName = 21 RULE_complexNumber = 22 RULE_braketNoisePragma = 23 RULE_noiseInstruction = 24 RULE_matrices = 25 RULE_probabilities = 26 RULE_noiseInstructionName = 27 RULE_program = 28 RULE_version = 29 RULE_statement = 30 RULE_annotation = 31 RULE_scope = 32 RULE_pragma = 33 RULE_statementOrScope = 34 RULE_calibrationGrammarStatement = 35 RULE_includeStatement = 36 RULE_breakStatement = 37 RULE_continueStatement = 38 RULE_endStatement = 39 RULE_forStatement = 40 RULE_ifStatement = 41 RULE_returnStatement = 42 RULE_whileStatement = 43 RULE_barrierStatement = 44 RULE_boxStatement = 45 RULE_delayStatement = 46 RULE_gateCallStatement = 47 RULE_measureArrowAssignmentStatement = 48 RULE_resetStatement = 49 RULE_aliasDeclarationStatement = 50 RULE_classicalDeclarationStatement = 51 RULE_constDeclarationStatement = 52 RULE_ioDeclarationStatement = 53 RULE_oldStyleDeclarationStatement = 54 RULE_quantumDeclarationStatement = 55 RULE_defStatement = 56 RULE_externStatement = 57 RULE_gateStatement = 58 RULE_assignmentStatement = 59 RULE_expressionStatement = 60 RULE_defcalStatement = 61 RULE_expression = 62 RULE_aliasExpression = 63 RULE_declarationExpression = 64 RULE_measureExpression = 65 RULE_rangeExpression = 66 RULE_setExpression = 67 RULE_arrayLiteral = 68 RULE_indexOperator = 69 RULE_indexedIdentifier = 70 RULE_returnSignature = 71 RULE_gateModifier = 72 RULE_scalarType = 73 RULE_qubitType = 74 RULE_arrayType = 75 RULE_arrayReferenceType = 76 RULE_designator = 77 RULE_gateOperand = 78 RULE_externArgument = 79 RULE_defcalArgument = 80 RULE_argumentDefinition = 81 RULE_argumentDefinitionList = 82 RULE_expressionList = 83 RULE_defcalArgumentList = 84 RULE_identifierList = 85 RULE_gateOperandList = 86 RULE_externArgumentList = 87 ruleNames = [ "braketPragma", "braketUnitaryPragma", "braketVerbatimPragma", "twoDimMatrix", "row", "braketResultPragma", "resultType", "noArgResultType", "noArgResultTypeName", "optionalMultiTargetResultType", "optionalMultiTargetResultTypeName", "multiTarget", "multiStateResultType", "multiStateResultTypeName", "multiState", "observableResultType", "observable", "standardObservable", "tensorProductObservable", "hermitianObservable", "observableResultTypeName", "standardObservableName", "complexNumber", "braketNoisePragma", "noiseInstruction", "matrices", "probabilities", "noiseInstructionName", "program", "version", "statement", "annotation", "scope", "pragma", "statementOrScope", "calibrationGrammarStatement", "includeStatement", "breakStatement", "continueStatement", "endStatement", "forStatement", "ifStatement", "returnStatement", "whileStatement", "barrierStatement", "boxStatement", "delayStatement", "gateCallStatement", "measureArrowAssignmentStatement", "resetStatement", "aliasDeclarationStatement", "classicalDeclarationStatement", "constDeclarationStatement", "ioDeclarationStatement", "oldStyleDeclarationStatement", "quantumDeclarationStatement", "defStatement", "externStatement", "gateStatement", "assignmentStatement", "expressionStatement", "defcalStatement", "expression", "aliasExpression", "declarationExpression", "measureExpression", "rangeExpression", "setExpression", "arrayLiteral", "indexOperator", "indexedIdentifier", "returnSignature", "gateModifier", "scalarType", "qubitType", "arrayType", "arrayReferenceType", "designator", "gateOperand", "externArgument", "defcalArgument", "argumentDefinition", "argumentDefinitionList", "expressionList", "defcalArgumentList", "identifierList", "gateOperandList", "externArgumentList" ] EOF = Token.EOF BRAKET=1 UNITARY=2 RESULT=3 NOISE=4 VERBATIM=5 STATE_VECTOR=6 PROBABILITY=7 DENSITY_MATRIX=8 AMPLITUDE=9 EXPECTATION=10 VARIANCE=11 SAMPLE=12 X=13 Y=14 Z=15 I=16 H=17 HERMITIAN=18 ALL=19 AT=20 BIT_FLIP=21 PHASE_FLIP=22 PAULI_CHANNEL=23 DEPOLARIZING=24 TWO_QUBIT_DEPOLARIZING=25 TWO_QUBIT_DEPHASING=26 AMPLITUDE_DAMPING=27 GENERALIZED_AMPLITUDE_DAMPING=28 PHASE_DAMPING=29 KRAUS=30 OPENQASM=31 INCLUDE=32 DEFCALGRAMMAR=33 DEF=34 DEFCAL=35 GATE=36 EXTERN=37 BOX=38 LET=39 BREAK=40 CONTINUE=41 IF=42 ELSE=43 END=44 RETURN=45 FOR=46 WHILE=47 IN=48 PRAGMA=49 AnnotationKeyword=50 INPUT=51 OUTPUT=52 CONST=53 MUTABLE=54 QREG=55 QUBIT=56 CREG=57 BOOL=58 BIT=59 INT=60 UINT=61 FLOAT=62 ANGLE=63 COMPLEX=64 ARRAY=65 DURATION=66 STRETCH=67 GPHASE=68 INV=69 POW=70 CTRL=71 NEGCTRL=72 DIM=73 DURATIONOF=74 DELAY=75 RESET=76 MEASURE=77 BARRIER=78 BooleanLiteral=79 LBRACKET=80 RBRACKET=81 LBRACE=82 RBRACE=83 LPAREN=84 RPAREN=85 COLON=86 SEMICOLON=87 DOT=88 COMMA=89 EQUALS=90 ARROW=91 PLUS=92 DOUBLE_PLUS=93 MINUS=94 ASTERISK=95 DOUBLE_ASTERISK=96 SLASH=97 PERCENT=98 PIPE=99 DOUBLE_PIPE=100 AMPERSAND=101 DOUBLE_AMPERSAND=102 CARET=103 TILDE=104 EXCLAMATION_POINT=105 EqualityOperator=106 CompoundAssignmentOperator=107 ComparisonOperator=108 BitshiftOperator=109 IMAG=110 ImaginaryLiteral=111 BinaryIntegerLiteral=112 OctalIntegerLiteral=113 DecimalIntegerLiteral=114 HexIntegerLiteral=115 Identifier=116 HardwareQubit=117 FloatLiteral=118 TimingLiteral=119 BitstringLiteral=120 StringLiteral=121 Whitespace=122 Newline=123 LineComment=124 BlockComment=125 VERSION_IDENTIFER_WHITESPACE=126 VersionSpecifier=127 EAT_INITIAL_SPACE=128 EAT_LINE_END=129 RemainingLineContent=130 def __init__(self, input:TokenStream, output:TextIO = sys.stdout): super().__init__(input, output) self.checkVersion("4.9.2") self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) self._predicates = None
[docs] class BraketPragmaContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def braketResultPragma(self): return self.getTypedRuleContext(BraketPragmasParser.BraketResultPragmaContext,0)
[docs] def braketUnitaryPragma(self): return self.getTypedRuleContext(BraketPragmasParser.BraketUnitaryPragmaContext,0)
[docs] def braketNoisePragma(self): return self.getTypedRuleContext(BraketPragmasParser.BraketNoisePragmaContext,0)
[docs] def braketVerbatimPragma(self): return self.getTypedRuleContext(BraketPragmasParser.BraketVerbatimPragmaContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_braketPragma
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBraketPragma" ): listener.enterBraketPragma(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBraketPragma" ): listener.exitBraketPragma(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBraketPragma" ): return visitor.visitBraketPragma(self) else: return visitor.visitChildren(self)
[docs] def braketPragma(self): localctx = BraketPragmasParser.BraketPragmaContext(self, self._ctx, self.state) self.enterRule(localctx, 0, self.RULE_braketPragma) try: self.state = 180 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,0,self._ctx) if la_ == 1: self.enterOuterAlt(localctx, 1) self.state = 176 self.braketResultPragma() pass elif la_ == 2: self.enterOuterAlt(localctx, 2) self.state = 177 self.braketUnitaryPragma() pass elif la_ == 3: self.enterOuterAlt(localctx, 3) self.state = 178 self.braketNoisePragma() pass elif la_ == 4: self.enterOuterAlt(localctx, 4) self.state = 179 self.braketVerbatimPragma() pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class BraketUnitaryPragmaContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BRAKET(self): return self.getToken(BraketPragmasParser.BRAKET, 0)
[docs] def UNITARY(self): return self.getToken(BraketPragmasParser.UNITARY, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def twoDimMatrix(self): return self.getTypedRuleContext(BraketPragmasParser.TwoDimMatrixContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def multiTarget(self): return self.getTypedRuleContext(BraketPragmasParser.MultiTargetContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_braketUnitaryPragma
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBraketUnitaryPragma" ): listener.enterBraketUnitaryPragma(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBraketUnitaryPragma" ): listener.exitBraketUnitaryPragma(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBraketUnitaryPragma" ): return visitor.visitBraketUnitaryPragma(self) else: return visitor.visitChildren(self)
[docs] def braketUnitaryPragma(self): localctx = BraketPragmasParser.BraketUnitaryPragmaContext(self, self._ctx, self.state) self.enterRule(localctx, 2, self.RULE_braketUnitaryPragma) try: self.enterOuterAlt(localctx, 1) self.state = 182 self.match(BraketPragmasParser.BRAKET) self.state = 183 self.match(BraketPragmasParser.UNITARY) self.state = 184 self.match(BraketPragmasParser.LPAREN) self.state = 185 self.twoDimMatrix() self.state = 186 self.match(BraketPragmasParser.RPAREN) self.state = 187 self.multiTarget() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class BraketVerbatimPragmaContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BRAKET(self): return self.getToken(BraketPragmasParser.BRAKET, 0)
[docs] def VERBATIM(self): return self.getToken(BraketPragmasParser.VERBATIM, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_braketVerbatimPragma
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBraketVerbatimPragma" ): listener.enterBraketVerbatimPragma(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBraketVerbatimPragma" ): listener.exitBraketVerbatimPragma(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBraketVerbatimPragma" ): return visitor.visitBraketVerbatimPragma(self) else: return visitor.visitChildren(self)
[docs] def braketVerbatimPragma(self): localctx = BraketPragmasParser.BraketVerbatimPragmaContext(self, self._ctx, self.state) self.enterRule(localctx, 4, self.RULE_braketVerbatimPragma) try: self.enterOuterAlt(localctx, 1) self.state = 189 self.match(BraketPragmasParser.BRAKET) self.state = 190 self.match(BraketPragmasParser.VERBATIM) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class TwoDimMatrixContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def LBRACKET(self): return self.getToken(BraketPragmasParser.LBRACKET, 0)
[docs] def row(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.RowContext) else: return self.getTypedRuleContext(BraketPragmasParser.RowContext,i)
[docs] def RBRACKET(self): return self.getToken(BraketPragmasParser.RBRACKET, 0)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_twoDimMatrix
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterTwoDimMatrix" ): listener.enterTwoDimMatrix(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitTwoDimMatrix" ): listener.exitTwoDimMatrix(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitTwoDimMatrix" ): return visitor.visitTwoDimMatrix(self) else: return visitor.visitChildren(self)
[docs] def twoDimMatrix(self): localctx = BraketPragmasParser.TwoDimMatrixContext(self, self._ctx, self.state) self.enterRule(localctx, 6, self.RULE_twoDimMatrix) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 192 self.match(BraketPragmasParser.LBRACKET) self.state = 193 self.row() self.state = 198 self._errHandler.sync(self) _la = self._input.LA(1) while _la==BraketPragmasParser.COMMA: self.state = 194 self.match(BraketPragmasParser.COMMA) self.state = 195 self.row() self.state = 200 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 201 self.match(BraketPragmasParser.RBRACKET) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class RowContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def LBRACKET(self): return self.getToken(BraketPragmasParser.LBRACKET, 0)
[docs] def complexNumber(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ComplexNumberContext) else: return self.getTypedRuleContext(BraketPragmasParser.ComplexNumberContext,i)
[docs] def RBRACKET(self): return self.getToken(BraketPragmasParser.RBRACKET, 0)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_row
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterRow" ): listener.enterRow(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitRow" ): listener.exitRow(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitRow" ): return visitor.visitRow(self) else: return visitor.visitChildren(self)
[docs] def row(self): localctx = BraketPragmasParser.RowContext(self, self._ctx, self.state) self.enterRule(localctx, 8, self.RULE_row) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 203 self.match(BraketPragmasParser.LBRACKET) self.state = 204 self.complexNumber() self.state = 209 self._errHandler.sync(self) _la = self._input.LA(1) while _la==BraketPragmasParser.COMMA: self.state = 205 self.match(BraketPragmasParser.COMMA) self.state = 206 self.complexNumber() self.state = 211 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 212 self.match(BraketPragmasParser.RBRACKET) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class BraketResultPragmaContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BRAKET(self): return self.getToken(BraketPragmasParser.BRAKET, 0)
[docs] def RESULT(self): return self.getToken(BraketPragmasParser.RESULT, 0)
[docs] def resultType(self): return self.getTypedRuleContext(BraketPragmasParser.ResultTypeContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_braketResultPragma
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBraketResultPragma" ): listener.enterBraketResultPragma(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBraketResultPragma" ): listener.exitBraketResultPragma(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBraketResultPragma" ): return visitor.visitBraketResultPragma(self) else: return visitor.visitChildren(self)
[docs] def braketResultPragma(self): localctx = BraketPragmasParser.BraketResultPragmaContext(self, self._ctx, self.state) self.enterRule(localctx, 10, self.RULE_braketResultPragma) try: self.enterOuterAlt(localctx, 1) self.state = 214 self.match(BraketPragmasParser.BRAKET) self.state = 215 self.match(BraketPragmasParser.RESULT) self.state = 216 self.resultType() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ResultTypeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def noArgResultType(self): return self.getTypedRuleContext(BraketPragmasParser.NoArgResultTypeContext,0)
[docs] def optionalMultiTargetResultType(self): return self.getTypedRuleContext(BraketPragmasParser.OptionalMultiTargetResultTypeContext,0)
[docs] def multiStateResultType(self): return self.getTypedRuleContext(BraketPragmasParser.MultiStateResultTypeContext,0)
[docs] def observableResultType(self): return self.getTypedRuleContext(BraketPragmasParser.ObservableResultTypeContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_resultType
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterResultType" ): listener.enterResultType(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitResultType" ): listener.exitResultType(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitResultType" ): return visitor.visitResultType(self) else: return visitor.visitChildren(self)
[docs] def resultType(self): localctx = BraketPragmasParser.ResultTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 12, self.RULE_resultType) try: self.state = 222 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.STATE_VECTOR]: self.enterOuterAlt(localctx, 1) self.state = 218 self.noArgResultType() pass elif token in [BraketPragmasParser.PROBABILITY, BraketPragmasParser.DENSITY_MATRIX]: self.enterOuterAlt(localctx, 2) self.state = 219 self.optionalMultiTargetResultType() pass elif token in [BraketPragmasParser.AMPLITUDE]: self.enterOuterAlt(localctx, 3) self.state = 220 self.multiStateResultType() pass elif token in [BraketPragmasParser.EXPECTATION, BraketPragmasParser.VARIANCE, BraketPragmasParser.SAMPLE]: self.enterOuterAlt(localctx, 4) self.state = 221 self.observableResultType() pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class NoArgResultTypeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def noArgResultTypeName(self): return self.getTypedRuleContext(BraketPragmasParser.NoArgResultTypeNameContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_noArgResultType
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterNoArgResultType" ): listener.enterNoArgResultType(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitNoArgResultType" ): listener.exitNoArgResultType(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitNoArgResultType" ): return visitor.visitNoArgResultType(self) else: return visitor.visitChildren(self)
[docs] def noArgResultType(self): localctx = BraketPragmasParser.NoArgResultTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 14, self.RULE_noArgResultType) try: self.enterOuterAlt(localctx, 1) self.state = 224 self.noArgResultTypeName() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class NoArgResultTypeNameContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def STATE_VECTOR(self): return self.getToken(BraketPragmasParser.STATE_VECTOR, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_noArgResultTypeName
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterNoArgResultTypeName" ): listener.enterNoArgResultTypeName(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitNoArgResultTypeName" ): listener.exitNoArgResultTypeName(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitNoArgResultTypeName" ): return visitor.visitNoArgResultTypeName(self) else: return visitor.visitChildren(self)
[docs] def noArgResultTypeName(self): localctx = BraketPragmasParser.NoArgResultTypeNameContext(self, self._ctx, self.state) self.enterRule(localctx, 16, self.RULE_noArgResultTypeName) try: self.enterOuterAlt(localctx, 1) self.state = 226 self.match(BraketPragmasParser.STATE_VECTOR) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class OptionalMultiTargetResultTypeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def optionalMultiTargetResultTypeName(self): return self.getTypedRuleContext(BraketPragmasParser.OptionalMultiTargetResultTypeNameContext,0)
[docs] def multiTarget(self): return self.getTypedRuleContext(BraketPragmasParser.MultiTargetContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_optionalMultiTargetResultType
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterOptionalMultiTargetResultType" ): listener.enterOptionalMultiTargetResultType(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitOptionalMultiTargetResultType" ): listener.exitOptionalMultiTargetResultType(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitOptionalMultiTargetResultType" ): return visitor.visitOptionalMultiTargetResultType(self) else: return visitor.visitChildren(self)
[docs] def optionalMultiTargetResultType(self): localctx = BraketPragmasParser.OptionalMultiTargetResultTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 18, self.RULE_optionalMultiTargetResultType) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 228 self.optionalMultiTargetResultTypeName() self.state = 230 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.ALL or _la==BraketPragmasParser.Identifier: self.state = 229 self.multiTarget() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class OptionalMultiTargetResultTypeNameContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def PROBABILITY(self): return self.getToken(BraketPragmasParser.PROBABILITY, 0)
[docs] def DENSITY_MATRIX(self): return self.getToken(BraketPragmasParser.DENSITY_MATRIX, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_optionalMultiTargetResultTypeName
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterOptionalMultiTargetResultTypeName" ): listener.enterOptionalMultiTargetResultTypeName(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitOptionalMultiTargetResultTypeName" ): listener.exitOptionalMultiTargetResultTypeName(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitOptionalMultiTargetResultTypeName" ): return visitor.visitOptionalMultiTargetResultTypeName(self) else: return visitor.visitChildren(self)
[docs] def optionalMultiTargetResultTypeName(self): localctx = BraketPragmasParser.OptionalMultiTargetResultTypeNameContext(self, self._ctx, self.state) self.enterRule(localctx, 20, self.RULE_optionalMultiTargetResultTypeName) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 232 _la = self._input.LA(1) if not(_la==BraketPragmasParser.PROBABILITY or _la==BraketPragmasParser.DENSITY_MATRIX): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class MultiTargetContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_multiTarget
[docs] def copyFrom(self, ctx:ParserRuleContext): super().copyFrom(ctx)
[docs] class MultiTargetAllContext(MultiTargetContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.MultiTargetContext super().__init__(parser) self.copyFrom(ctx)
[docs] def ALL(self): return self.getToken(BraketPragmasParser.ALL, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMultiTargetAll" ): listener.enterMultiTargetAll(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMultiTargetAll" ): listener.exitMultiTargetAll(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitMultiTargetAll" ): return visitor.visitMultiTargetAll(self) else: return visitor.visitChildren(self)
[docs] class MultiTargetIdentifiersContext(MultiTargetContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.MultiTargetContext super().__init__(parser) self.copyFrom(ctx)
[docs] def indexedIdentifier(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.IndexedIdentifierContext) else: return self.getTypedRuleContext(BraketPragmasParser.IndexedIdentifierContext,i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMultiTargetIdentifiers" ): listener.enterMultiTargetIdentifiers(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMultiTargetIdentifiers" ): listener.exitMultiTargetIdentifiers(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitMultiTargetIdentifiers" ): return visitor.visitMultiTargetIdentifiers(self) else: return visitor.visitChildren(self)
[docs] def multiTarget(self): localctx = BraketPragmasParser.MultiTargetContext(self, self._ctx, self.state) self.enterRule(localctx, 22, self.RULE_multiTarget) self._la = 0 # Token type try: self.state = 243 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.Identifier]: localctx = BraketPragmasParser.MultiTargetIdentifiersContext(self, localctx) self.enterOuterAlt(localctx, 1) self.state = 234 self.indexedIdentifier() self.state = 239 self._errHandler.sync(self) _la = self._input.LA(1) while _la==BraketPragmasParser.COMMA: self.state = 235 self.match(BraketPragmasParser.COMMA) self.state = 236 self.indexedIdentifier() self.state = 241 self._errHandler.sync(self) _la = self._input.LA(1) pass elif token in [BraketPragmasParser.ALL]: localctx = BraketPragmasParser.MultiTargetAllContext(self, localctx) self.enterOuterAlt(localctx, 2) self.state = 242 self.match(BraketPragmasParser.ALL) pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class MultiStateResultTypeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def multiStateResultTypeName(self): return self.getTypedRuleContext(BraketPragmasParser.MultiStateResultTypeNameContext,0)
[docs] def multiState(self): return self.getTypedRuleContext(BraketPragmasParser.MultiStateContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_multiStateResultType
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMultiStateResultType" ): listener.enterMultiStateResultType(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMultiStateResultType" ): listener.exitMultiStateResultType(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitMultiStateResultType" ): return visitor.visitMultiStateResultType(self) else: return visitor.visitChildren(self)
[docs] def multiStateResultType(self): localctx = BraketPragmasParser.MultiStateResultTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 24, self.RULE_multiStateResultType) try: self.enterOuterAlt(localctx, 1) self.state = 245 self.multiStateResultTypeName() self.state = 246 self.multiState() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class MultiStateResultTypeNameContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def AMPLITUDE(self): return self.getToken(BraketPragmasParser.AMPLITUDE, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_multiStateResultTypeName
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMultiStateResultTypeName" ): listener.enterMultiStateResultTypeName(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMultiStateResultTypeName" ): listener.exitMultiStateResultTypeName(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitMultiStateResultTypeName" ): return visitor.visitMultiStateResultTypeName(self) else: return visitor.visitChildren(self)
[docs] def multiStateResultTypeName(self): localctx = BraketPragmasParser.MultiStateResultTypeNameContext(self, self._ctx, self.state) self.enterRule(localctx, 26, self.RULE_multiStateResultTypeName) try: self.enterOuterAlt(localctx, 1) self.state = 248 self.match(BraketPragmasParser.AMPLITUDE) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class MultiStateContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BitstringLiteral(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.BitstringLiteral) else: return self.getToken(BraketPragmasParser.BitstringLiteral, i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_multiState
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMultiState" ): listener.enterMultiState(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMultiState" ): listener.exitMultiState(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitMultiState" ): return visitor.visitMultiState(self) else: return visitor.visitChildren(self)
[docs] def multiState(self): localctx = BraketPragmasParser.MultiStateContext(self, self._ctx, self.state) self.enterRule(localctx, 28, self.RULE_multiState) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 250 self.match(BraketPragmasParser.BitstringLiteral) self.state = 255 self._errHandler.sync(self) _la = self._input.LA(1) while _la==BraketPragmasParser.COMMA: self.state = 251 self.match(BraketPragmasParser.COMMA) self.state = 252 self.match(BraketPragmasParser.BitstringLiteral) self.state = 257 self._errHandler.sync(self) _la = self._input.LA(1) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ObservableResultTypeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def observableResultTypeName(self): return self.getTypedRuleContext(BraketPragmasParser.ObservableResultTypeNameContext,0)
[docs] def observable(self): return self.getTypedRuleContext(BraketPragmasParser.ObservableContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_observableResultType
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterObservableResultType" ): listener.enterObservableResultType(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitObservableResultType" ): listener.exitObservableResultType(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitObservableResultType" ): return visitor.visitObservableResultType(self) else: return visitor.visitChildren(self)
[docs] def observableResultType(self): localctx = BraketPragmasParser.ObservableResultTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 30, self.RULE_observableResultType) try: self.enterOuterAlt(localctx, 1) self.state = 258 self.observableResultTypeName() self.state = 259 self.observable() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ObservableContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def standardObservable(self): return self.getTypedRuleContext(BraketPragmasParser.StandardObservableContext,0)
[docs] def tensorProductObservable(self): return self.getTypedRuleContext(BraketPragmasParser.TensorProductObservableContext,0)
[docs] def hermitianObservable(self): return self.getTypedRuleContext(BraketPragmasParser.HermitianObservableContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_observable
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterObservable" ): listener.enterObservable(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitObservable" ): listener.exitObservable(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitObservable" ): return visitor.visitObservable(self) else: return visitor.visitChildren(self)
[docs] def observable(self): localctx = BraketPragmasParser.ObservableContext(self, self._ctx, self.state) self.enterRule(localctx, 32, self.RULE_observable) try: self.state = 264 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,8,self._ctx) if la_ == 1: self.enterOuterAlt(localctx, 1) self.state = 261 self.standardObservable() pass elif la_ == 2: self.enterOuterAlt(localctx, 2) self.state = 262 self.tensorProductObservable() pass elif la_ == 3: self.enterOuterAlt(localctx, 3) self.state = 263 self.hermitianObservable() pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class StandardObservableContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_standardObservable
[docs] def copyFrom(self, ctx:ParserRuleContext): super().copyFrom(ctx)
[docs] class StandardObservableAllContext(StandardObservableContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.StandardObservableContext super().__init__(parser) self.copyFrom(ctx)
[docs] def standardObservableName(self): return self.getTypedRuleContext(BraketPragmasParser.StandardObservableNameContext,0)
[docs] def ALL(self): return self.getToken(BraketPragmasParser.ALL, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterStandardObservableAll" ): listener.enterStandardObservableAll(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitStandardObservableAll" ): listener.exitStandardObservableAll(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitStandardObservableAll" ): return visitor.visitStandardObservableAll(self) else: return visitor.visitChildren(self)
[docs] class StandardObservableIdentifierContext(StandardObservableContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.StandardObservableContext super().__init__(parser) self.copyFrom(ctx)
[docs] def standardObservableName(self): return self.getTypedRuleContext(BraketPragmasParser.StandardObservableNameContext,0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def indexedIdentifier(self): return self.getTypedRuleContext(BraketPragmasParser.IndexedIdentifierContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterStandardObservableIdentifier" ): listener.enterStandardObservableIdentifier(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitStandardObservableIdentifier" ): listener.exitStandardObservableIdentifier(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitStandardObservableIdentifier" ): return visitor.visitStandardObservableIdentifier(self) else: return visitor.visitChildren(self)
[docs] def standardObservable(self): localctx = BraketPragmasParser.StandardObservableContext(self, self._ctx, self.state) self.enterRule(localctx, 34, self.RULE_standardObservable) try: self.state = 274 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,9,self._ctx) if la_ == 1: localctx = BraketPragmasParser.StandardObservableIdentifierContext(self, localctx) self.enterOuterAlt(localctx, 1) self.state = 266 self.standardObservableName() self.state = 267 self.match(BraketPragmasParser.LPAREN) self.state = 268 self.indexedIdentifier() self.state = 269 self.match(BraketPragmasParser.RPAREN) pass elif la_ == 2: localctx = BraketPragmasParser.StandardObservableAllContext(self, localctx) self.enterOuterAlt(localctx, 2) self.state = 271 self.standardObservableName() self.state = 272 self.match(BraketPragmasParser.ALL) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class TensorProductObservableContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def AT(self): return self.getToken(BraketPragmasParser.AT, 0)
[docs] def observable(self): return self.getTypedRuleContext(BraketPragmasParser.ObservableContext,0)
[docs] def standardObservable(self): return self.getTypedRuleContext(BraketPragmasParser.StandardObservableContext,0)
[docs] def hermitianObservable(self): return self.getTypedRuleContext(BraketPragmasParser.HermitianObservableContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_tensorProductObservable
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterTensorProductObservable" ): listener.enterTensorProductObservable(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitTensorProductObservable" ): listener.exitTensorProductObservable(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitTensorProductObservable" ): return visitor.visitTensorProductObservable(self) else: return visitor.visitChildren(self)
[docs] def tensorProductObservable(self): localctx = BraketPragmasParser.TensorProductObservableContext(self, self._ctx, self.state) self.enterRule(localctx, 36, self.RULE_tensorProductObservable) try: self.enterOuterAlt(localctx, 1) self.state = 278 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.X, BraketPragmasParser.Y, BraketPragmasParser.Z, BraketPragmasParser.I, BraketPragmasParser.H]: self.state = 276 self.standardObservable() pass elif token in [BraketPragmasParser.HERMITIAN]: self.state = 277 self.hermitianObservable() pass else: raise NoViableAltException(self) self.state = 280 self.match(BraketPragmasParser.AT) self.state = 281 self.observable() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class HermitianObservableContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def HERMITIAN(self): return self.getToken(BraketPragmasParser.HERMITIAN, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def twoDimMatrix(self): return self.getTypedRuleContext(BraketPragmasParser.TwoDimMatrixContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def multiTarget(self): return self.getTypedRuleContext(BraketPragmasParser.MultiTargetContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_hermitianObservable
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterHermitianObservable" ): listener.enterHermitianObservable(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitHermitianObservable" ): listener.exitHermitianObservable(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitHermitianObservable" ): return visitor.visitHermitianObservable(self) else: return visitor.visitChildren(self)
[docs] def hermitianObservable(self): localctx = BraketPragmasParser.HermitianObservableContext(self, self._ctx, self.state) self.enterRule(localctx, 38, self.RULE_hermitianObservable) try: self.enterOuterAlt(localctx, 1) self.state = 283 self.match(BraketPragmasParser.HERMITIAN) self.state = 284 self.match(BraketPragmasParser.LPAREN) self.state = 285 self.twoDimMatrix() self.state = 286 self.match(BraketPragmasParser.RPAREN) self.state = 287 self.multiTarget() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ObservableResultTypeNameContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def EXPECTATION(self): return self.getToken(BraketPragmasParser.EXPECTATION, 0)
[docs] def VARIANCE(self): return self.getToken(BraketPragmasParser.VARIANCE, 0)
[docs] def SAMPLE(self): return self.getToken(BraketPragmasParser.SAMPLE, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_observableResultTypeName
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterObservableResultTypeName" ): listener.enterObservableResultTypeName(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitObservableResultTypeName" ): listener.exitObservableResultTypeName(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitObservableResultTypeName" ): return visitor.visitObservableResultTypeName(self) else: return visitor.visitChildren(self)
[docs] def observableResultTypeName(self): localctx = BraketPragmasParser.ObservableResultTypeNameContext(self, self._ctx, self.state) self.enterRule(localctx, 40, self.RULE_observableResultTypeName) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 289 _la = self._input.LA(1) if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << BraketPragmasParser.EXPECTATION) | (1 << BraketPragmasParser.VARIANCE) | (1 << BraketPragmasParser.SAMPLE))) != 0)): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class StandardObservableNameContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def X(self): return self.getToken(BraketPragmasParser.X, 0)
[docs] def Y(self): return self.getToken(BraketPragmasParser.Y, 0)
[docs] def Z(self): return self.getToken(BraketPragmasParser.Z, 0)
[docs] def I(self): return self.getToken(BraketPragmasParser.I, 0)
[docs] def H(self): return self.getToken(BraketPragmasParser.H, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_standardObservableName
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterStandardObservableName" ): listener.enterStandardObservableName(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitStandardObservableName" ): listener.exitStandardObservableName(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitStandardObservableName" ): return visitor.visitStandardObservableName(self) else: return visitor.visitChildren(self)
[docs] def standardObservableName(self): localctx = BraketPragmasParser.StandardObservableNameContext(self, self._ctx, self.state) self.enterRule(localctx, 42, self.RULE_standardObservableName) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 291 _la = self._input.LA(1) if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << BraketPragmasParser.X) | (1 << BraketPragmasParser.Y) | (1 << BraketPragmasParser.Z) | (1 << BraketPragmasParser.I) | (1 << BraketPragmasParser.H))) != 0)): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ComplexNumberContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_complexNumber
[docs] def copyFrom(self, ctx:ParserRuleContext): super().copyFrom(ctx)
[docs] class ComplexOneValueContext(ComplexNumberContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ComplexNumberContext super().__init__(parser) self.neg = None # Token self.value = None # Token self.copyFrom(ctx)
[docs] def DecimalIntegerLiteral(self): return self.getToken(BraketPragmasParser.DecimalIntegerLiteral, 0)
[docs] def FloatLiteral(self): return self.getToken(BraketPragmasParser.FloatLiteral, 0)
[docs] def ImaginaryLiteral(self): return self.getToken(BraketPragmasParser.ImaginaryLiteral, 0)
[docs] def MINUS(self): return self.getToken(BraketPragmasParser.MINUS, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterComplexOneValue" ): listener.enterComplexOneValue(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitComplexOneValue" ): listener.exitComplexOneValue(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitComplexOneValue" ): return visitor.visitComplexOneValue(self) else: return visitor.visitChildren(self)
[docs] class ComplexTwoValuesContext(ComplexNumberContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ComplexNumberContext super().__init__(parser) self.neg = None # Token self.real = None # Token self.sign = None # Token self.imagNeg = None # Token self.imag = None # Token self.copyFrom(ctx)
[docs] def ImaginaryLiteral(self): return self.getToken(BraketPragmasParser.ImaginaryLiteral, 0)
[docs] def DecimalIntegerLiteral(self): return self.getToken(BraketPragmasParser.DecimalIntegerLiteral, 0)
[docs] def FloatLiteral(self): return self.getToken(BraketPragmasParser.FloatLiteral, 0)
[docs] def PLUS(self): return self.getToken(BraketPragmasParser.PLUS, 0)
[docs] def MINUS(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.MINUS) else: return self.getToken(BraketPragmasParser.MINUS, i)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterComplexTwoValues" ): listener.enterComplexTwoValues(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitComplexTwoValues" ): listener.exitComplexTwoValues(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitComplexTwoValues" ): return visitor.visitComplexTwoValues(self) else: return visitor.visitChildren(self)
[docs] def complexNumber(self): localctx = BraketPragmasParser.ComplexNumberContext(self, self._ctx, self.state) self.enterRule(localctx, 44, self.RULE_complexNumber) self._la = 0 # Token type try: self.state = 306 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,14,self._ctx) if la_ == 1: localctx = BraketPragmasParser.ComplexOneValueContext(self, localctx) self.enterOuterAlt(localctx, 1) self.state = 294 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.MINUS: self.state = 293 localctx.neg = self.match(BraketPragmasParser.MINUS) self.state = 296 localctx.value = self._input.LT(1) _la = self._input.LA(1) if not(((((_la - 111)) & ~0x3f) == 0 and ((1 << (_la - 111)) & ((1 << (BraketPragmasParser.ImaginaryLiteral - 111)) | (1 << (BraketPragmasParser.DecimalIntegerLiteral - 111)) | (1 << (BraketPragmasParser.FloatLiteral - 111)))) != 0)): localctx.value = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() pass elif la_ == 2: localctx = BraketPragmasParser.ComplexTwoValuesContext(self, localctx) self.enterOuterAlt(localctx, 2) self.state = 298 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.MINUS: self.state = 297 localctx.neg = self.match(BraketPragmasParser.MINUS) self.state = 300 localctx.real = self._input.LT(1) _la = self._input.LA(1) if not(_la==BraketPragmasParser.DecimalIntegerLiteral or _la==BraketPragmasParser.FloatLiteral): localctx.real = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 301 localctx.sign = self._input.LT(1) _la = self._input.LA(1) if not(_la==BraketPragmasParser.PLUS or _la==BraketPragmasParser.MINUS): localctx.sign = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 303 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.MINUS: self.state = 302 localctx.imagNeg = self.match(BraketPragmasParser.MINUS) self.state = 305 localctx.imag = self.match(BraketPragmasParser.ImaginaryLiteral) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class BraketNoisePragmaContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BRAKET(self): return self.getToken(BraketPragmasParser.BRAKET, 0)
[docs] def NOISE(self): return self.getToken(BraketPragmasParser.NOISE, 0)
[docs] def noiseInstruction(self): return self.getTypedRuleContext(BraketPragmasParser.NoiseInstructionContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_braketNoisePragma
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBraketNoisePragma" ): listener.enterBraketNoisePragma(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBraketNoisePragma" ): listener.exitBraketNoisePragma(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBraketNoisePragma" ): return visitor.visitBraketNoisePragma(self) else: return visitor.visitChildren(self)
[docs] def braketNoisePragma(self): localctx = BraketPragmasParser.BraketNoisePragmaContext(self, self._ctx, self.state) self.enterRule(localctx, 46, self.RULE_braketNoisePragma) try: self.enterOuterAlt(localctx, 1) self.state = 308 self.match(BraketPragmasParser.BRAKET) self.state = 309 self.match(BraketPragmasParser.NOISE) self.state = 310 self.noiseInstruction() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class NoiseInstructionContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_noiseInstruction
[docs] def copyFrom(self, ctx:ParserRuleContext): super().copyFrom(ctx)
[docs] class NoiseContext(NoiseInstructionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.NoiseInstructionContext super().__init__(parser) self.target = None # MultiTargetContext self.copyFrom(ctx)
[docs] def noiseInstructionName(self): return self.getTypedRuleContext(BraketPragmasParser.NoiseInstructionNameContext,0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def probabilities(self): return self.getTypedRuleContext(BraketPragmasParser.ProbabilitiesContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def multiTarget(self): return self.getTypedRuleContext(BraketPragmasParser.MultiTargetContext,0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterNoise" ): listener.enterNoise(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitNoise" ): listener.exitNoise(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitNoise" ): return visitor.visitNoise(self) else: return visitor.visitChildren(self)
[docs] class KrausContext(NoiseInstructionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.NoiseInstructionContext super().__init__(parser) self.target = None # MultiTargetContext self.copyFrom(ctx)
[docs] def KRAUS(self): return self.getToken(BraketPragmasParser.KRAUS, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def matrices(self): return self.getTypedRuleContext(BraketPragmasParser.MatricesContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def multiTarget(self): return self.getTypedRuleContext(BraketPragmasParser.MultiTargetContext,0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterKraus" ): listener.enterKraus(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitKraus" ): listener.exitKraus(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitKraus" ): return visitor.visitKraus(self) else: return visitor.visitChildren(self)
[docs] def noiseInstruction(self): localctx = BraketPragmasParser.NoiseInstructionContext(self, self._ctx, self.state) self.enterRule(localctx, 48, self.RULE_noiseInstruction) try: self.state = 324 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BIT_FLIP, BraketPragmasParser.PHASE_FLIP, BraketPragmasParser.PAULI_CHANNEL, BraketPragmasParser.DEPOLARIZING, BraketPragmasParser.TWO_QUBIT_DEPOLARIZING, BraketPragmasParser.TWO_QUBIT_DEPHASING, BraketPragmasParser.AMPLITUDE_DAMPING, BraketPragmasParser.GENERALIZED_AMPLITUDE_DAMPING, BraketPragmasParser.PHASE_DAMPING]: localctx = BraketPragmasParser.NoiseContext(self, localctx) self.enterOuterAlt(localctx, 1) self.state = 312 self.noiseInstructionName() self.state = 313 self.match(BraketPragmasParser.LPAREN) self.state = 314 self.probabilities() self.state = 315 self.match(BraketPragmasParser.RPAREN) self.state = 316 localctx.target = self.multiTarget() pass elif token in [BraketPragmasParser.KRAUS]: localctx = BraketPragmasParser.KrausContext(self, localctx) self.enterOuterAlt(localctx, 2) self.state = 318 self.match(BraketPragmasParser.KRAUS) self.state = 319 self.match(BraketPragmasParser.LPAREN) self.state = 320 self.matrices() self.state = 321 self.match(BraketPragmasParser.RPAREN) self.state = 322 localctx.target = self.multiTarget() pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class MatricesContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def twoDimMatrix(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.TwoDimMatrixContext) else: return self.getTypedRuleContext(BraketPragmasParser.TwoDimMatrixContext,i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_matrices
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMatrices" ): listener.enterMatrices(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMatrices" ): listener.exitMatrices(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitMatrices" ): return visitor.visitMatrices(self) else: return visitor.visitChildren(self)
[docs] def matrices(self): localctx = BraketPragmasParser.MatricesContext(self, self._ctx, self.state) self.enterRule(localctx, 50, self.RULE_matrices) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 326 self.twoDimMatrix() self.state = 331 self._errHandler.sync(self) _la = self._input.LA(1) while _la==BraketPragmasParser.COMMA: self.state = 327 self.match(BraketPragmasParser.COMMA) self.state = 328 self.twoDimMatrix() self.state = 333 self._errHandler.sync(self) _la = self._input.LA(1) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ProbabilitiesContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def FloatLiteral(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.FloatLiteral) else: return self.getToken(BraketPragmasParser.FloatLiteral, i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_probabilities
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterProbabilities" ): listener.enterProbabilities(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitProbabilities" ): listener.exitProbabilities(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitProbabilities" ): return visitor.visitProbabilities(self) else: return visitor.visitChildren(self)
[docs] def probabilities(self): localctx = BraketPragmasParser.ProbabilitiesContext(self, self._ctx, self.state) self.enterRule(localctx, 52, self.RULE_probabilities) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 334 self.match(BraketPragmasParser.FloatLiteral) self.state = 339 self._errHandler.sync(self) _la = self._input.LA(1) while _la==BraketPragmasParser.COMMA: self.state = 335 self.match(BraketPragmasParser.COMMA) self.state = 336 self.match(BraketPragmasParser.FloatLiteral) self.state = 341 self._errHandler.sync(self) _la = self._input.LA(1) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class NoiseInstructionNameContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BIT_FLIP(self): return self.getToken(BraketPragmasParser.BIT_FLIP, 0)
[docs] def PHASE_FLIP(self): return self.getToken(BraketPragmasParser.PHASE_FLIP, 0)
[docs] def PAULI_CHANNEL(self): return self.getToken(BraketPragmasParser.PAULI_CHANNEL, 0)
[docs] def DEPOLARIZING(self): return self.getToken(BraketPragmasParser.DEPOLARIZING, 0)
[docs] def TWO_QUBIT_DEPOLARIZING(self): return self.getToken(BraketPragmasParser.TWO_QUBIT_DEPOLARIZING, 0)
[docs] def TWO_QUBIT_DEPHASING(self): return self.getToken(BraketPragmasParser.TWO_QUBIT_DEPHASING, 0)
[docs] def AMPLITUDE_DAMPING(self): return self.getToken(BraketPragmasParser.AMPLITUDE_DAMPING, 0)
[docs] def GENERALIZED_AMPLITUDE_DAMPING(self): return self.getToken(BraketPragmasParser.GENERALIZED_AMPLITUDE_DAMPING, 0)
[docs] def PHASE_DAMPING(self): return self.getToken(BraketPragmasParser.PHASE_DAMPING, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_noiseInstructionName
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterNoiseInstructionName" ): listener.enterNoiseInstructionName(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitNoiseInstructionName" ): listener.exitNoiseInstructionName(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitNoiseInstructionName" ): return visitor.visitNoiseInstructionName(self) else: return visitor.visitChildren(self)
[docs] def noiseInstructionName(self): localctx = BraketPragmasParser.NoiseInstructionNameContext(self, self._ctx, self.state) self.enterRule(localctx, 54, self.RULE_noiseInstructionName) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 342 _la = self._input.LA(1) if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << BraketPragmasParser.BIT_FLIP) | (1 << BraketPragmasParser.PHASE_FLIP) | (1 << BraketPragmasParser.PAULI_CHANNEL) | (1 << BraketPragmasParser.DEPOLARIZING) | (1 << BraketPragmasParser.TWO_QUBIT_DEPOLARIZING) | (1 << BraketPragmasParser.TWO_QUBIT_DEPHASING) | (1 << BraketPragmasParser.AMPLITUDE_DAMPING) | (1 << BraketPragmasParser.GENERALIZED_AMPLITUDE_DAMPING) | (1 << BraketPragmasParser.PHASE_DAMPING))) != 0)): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ProgramContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def EOF(self): return self.getToken(BraketPragmasParser.EOF, 0)
[docs] def version(self): return self.getTypedRuleContext(BraketPragmasParser.VersionContext,0)
[docs] def statement(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.StatementContext) else: return self.getTypedRuleContext(BraketPragmasParser.StatementContext,i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_program
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterProgram" ): listener.enterProgram(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitProgram" ): listener.exitProgram(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitProgram" ): return visitor.visitProgram(self) else: return visitor.visitChildren(self)
[docs] def program(self): localctx = BraketPragmasParser.ProgramContext(self, self._ctx, self.state) self.enterRule(localctx, 56, self.RULE_program) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 345 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.OPENQASM: self.state = 344 self.version() self.state = 350 self._errHandler.sync(self) _la = self._input.LA(1) while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << BraketPragmasParser.INCLUDE) | (1 << BraketPragmasParser.DEFCALGRAMMAR) | (1 << BraketPragmasParser.DEF) | (1 << BraketPragmasParser.DEFCAL) | (1 << BraketPragmasParser.GATE) | (1 << BraketPragmasParser.EXTERN) | (1 << BraketPragmasParser.BOX) | (1 << BraketPragmasParser.LET) | (1 << BraketPragmasParser.BREAK) | (1 << BraketPragmasParser.CONTINUE) | (1 << BraketPragmasParser.IF) | (1 << BraketPragmasParser.END) | (1 << BraketPragmasParser.RETURN) | (1 << BraketPragmasParser.FOR) | (1 << BraketPragmasParser.WHILE) | (1 << BraketPragmasParser.PRAGMA) | (1 << BraketPragmasParser.AnnotationKeyword) | (1 << BraketPragmasParser.INPUT) | (1 << BraketPragmasParser.OUTPUT) | (1 << BraketPragmasParser.CONST) | (1 << BraketPragmasParser.QREG) | (1 << BraketPragmasParser.QUBIT) | (1 << BraketPragmasParser.CREG) | (1 << BraketPragmasParser.BOOL) | (1 << BraketPragmasParser.BIT) | (1 << BraketPragmasParser.INT) | (1 << BraketPragmasParser.UINT) | (1 << BraketPragmasParser.FLOAT) | (1 << BraketPragmasParser.ANGLE))) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & ((1 << (BraketPragmasParser.COMPLEX - 64)) | (1 << (BraketPragmasParser.ARRAY - 64)) | (1 << (BraketPragmasParser.DURATION - 64)) | (1 << (BraketPragmasParser.STRETCH - 64)) | (1 << (BraketPragmasParser.GPHASE - 64)) | (1 << (BraketPragmasParser.INV - 64)) | (1 << (BraketPragmasParser.POW - 64)) | (1 << (BraketPragmasParser.CTRL - 64)) | (1 << (BraketPragmasParser.NEGCTRL - 64)) | (1 << (BraketPragmasParser.DURATIONOF - 64)) | (1 << (BraketPragmasParser.DELAY - 64)) | (1 << (BraketPragmasParser.RESET - 64)) | (1 << (BraketPragmasParser.MEASURE - 64)) | (1 << (BraketPragmasParser.BARRIER - 64)) | (1 << (BraketPragmasParser.BooleanLiteral - 64)) | (1 << (BraketPragmasParser.LPAREN - 64)) | (1 << (BraketPragmasParser.MINUS - 64)) | (1 << (BraketPragmasParser.TILDE - 64)) | (1 << (BraketPragmasParser.EXCLAMATION_POINT - 64)) | (1 << (BraketPragmasParser.ImaginaryLiteral - 64)) | (1 << (BraketPragmasParser.BinaryIntegerLiteral - 64)) | (1 << (BraketPragmasParser.OctalIntegerLiteral - 64)) | (1 << (BraketPragmasParser.DecimalIntegerLiteral - 64)) | (1 << (BraketPragmasParser.HexIntegerLiteral - 64)) | (1 << (BraketPragmasParser.Identifier - 64)) | (1 << (BraketPragmasParser.HardwareQubit - 64)) | (1 << (BraketPragmasParser.FloatLiteral - 64)) | (1 << (BraketPragmasParser.TimingLiteral - 64)) | (1 << (BraketPragmasParser.BitstringLiteral - 64)))) != 0): self.state = 347 self.statement() self.state = 352 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 353 self.match(BraketPragmasParser.EOF) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class VersionContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def OPENQASM(self): return self.getToken(BraketPragmasParser.OPENQASM, 0)
[docs] def VersionSpecifier(self): return self.getToken(BraketPragmasParser.VersionSpecifier, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_version
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterVersion" ): listener.enterVersion(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitVersion" ): listener.exitVersion(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitVersion" ): return visitor.visitVersion(self) else: return visitor.visitChildren(self)
[docs] def version(self): localctx = BraketPragmasParser.VersionContext(self, self._ctx, self.state) self.enterRule(localctx, 58, self.RULE_version) try: self.enterOuterAlt(localctx, 1) self.state = 355 self.match(BraketPragmasParser.OPENQASM) self.state = 356 self.match(BraketPragmasParser.VersionSpecifier) self.state = 357 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class StatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def pragma(self): return self.getTypedRuleContext(BraketPragmasParser.PragmaContext,0)
[docs] def aliasDeclarationStatement(self): return self.getTypedRuleContext(BraketPragmasParser.AliasDeclarationStatementContext,0)
[docs] def assignmentStatement(self): return self.getTypedRuleContext(BraketPragmasParser.AssignmentStatementContext,0)
[docs] def barrierStatement(self): return self.getTypedRuleContext(BraketPragmasParser.BarrierStatementContext,0)
[docs] def boxStatement(self): return self.getTypedRuleContext(BraketPragmasParser.BoxStatementContext,0)
[docs] def breakStatement(self): return self.getTypedRuleContext(BraketPragmasParser.BreakStatementContext,0)
[docs] def calibrationGrammarStatement(self): return self.getTypedRuleContext(BraketPragmasParser.CalibrationGrammarStatementContext,0)
[docs] def classicalDeclarationStatement(self): return self.getTypedRuleContext(BraketPragmasParser.ClassicalDeclarationStatementContext,0)
[docs] def constDeclarationStatement(self): return self.getTypedRuleContext(BraketPragmasParser.ConstDeclarationStatementContext,0)
[docs] def continueStatement(self): return self.getTypedRuleContext(BraketPragmasParser.ContinueStatementContext,0)
[docs] def defStatement(self): return self.getTypedRuleContext(BraketPragmasParser.DefStatementContext,0)
[docs] def defcalStatement(self): return self.getTypedRuleContext(BraketPragmasParser.DefcalStatementContext,0)
[docs] def delayStatement(self): return self.getTypedRuleContext(BraketPragmasParser.DelayStatementContext,0)
[docs] def endStatement(self): return self.getTypedRuleContext(BraketPragmasParser.EndStatementContext,0)
[docs] def expressionStatement(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionStatementContext,0)
[docs] def externStatement(self): return self.getTypedRuleContext(BraketPragmasParser.ExternStatementContext,0)
[docs] def forStatement(self): return self.getTypedRuleContext(BraketPragmasParser.ForStatementContext,0)
[docs] def gateCallStatement(self): return self.getTypedRuleContext(BraketPragmasParser.GateCallStatementContext,0)
[docs] def gateStatement(self): return self.getTypedRuleContext(BraketPragmasParser.GateStatementContext,0)
[docs] def ifStatement(self): return self.getTypedRuleContext(BraketPragmasParser.IfStatementContext,0)
[docs] def includeStatement(self): return self.getTypedRuleContext(BraketPragmasParser.IncludeStatementContext,0)
[docs] def ioDeclarationStatement(self): return self.getTypedRuleContext(BraketPragmasParser.IoDeclarationStatementContext,0)
[docs] def measureArrowAssignmentStatement(self): return self.getTypedRuleContext(BraketPragmasParser.MeasureArrowAssignmentStatementContext,0)
[docs] def oldStyleDeclarationStatement(self): return self.getTypedRuleContext(BraketPragmasParser.OldStyleDeclarationStatementContext,0)
[docs] def quantumDeclarationStatement(self): return self.getTypedRuleContext(BraketPragmasParser.QuantumDeclarationStatementContext,0)
[docs] def resetStatement(self): return self.getTypedRuleContext(BraketPragmasParser.ResetStatementContext,0)
[docs] def returnStatement(self): return self.getTypedRuleContext(BraketPragmasParser.ReturnStatementContext,0)
[docs] def whileStatement(self): return self.getTypedRuleContext(BraketPragmasParser.WhileStatementContext,0)
[docs] def annotation(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.AnnotationContext) else: return self.getTypedRuleContext(BraketPragmasParser.AnnotationContext,i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_statement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterStatement" ): listener.enterStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitStatement" ): listener.exitStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitStatement" ): return visitor.visitStatement(self) else: return visitor.visitChildren(self)
[docs] def statement(self): localctx = BraketPragmasParser.StatementContext(self, self._ctx, self.state) self.enterRule(localctx, 60, self.RULE_statement) self._la = 0 # Token type try: self.state = 395 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.PRAGMA]: self.enterOuterAlt(localctx, 1) self.state = 359 self.pragma() pass elif token in [BraketPragmasParser.INCLUDE, BraketPragmasParser.DEFCALGRAMMAR, BraketPragmasParser.DEF, BraketPragmasParser.DEFCAL, BraketPragmasParser.GATE, BraketPragmasParser.EXTERN, BraketPragmasParser.BOX, BraketPragmasParser.LET, BraketPragmasParser.BREAK, BraketPragmasParser.CONTINUE, BraketPragmasParser.IF, BraketPragmasParser.END, BraketPragmasParser.RETURN, BraketPragmasParser.FOR, BraketPragmasParser.WHILE, BraketPragmasParser.AnnotationKeyword, BraketPragmasParser.INPUT, BraketPragmasParser.OUTPUT, BraketPragmasParser.CONST, BraketPragmasParser.QREG, BraketPragmasParser.QUBIT, BraketPragmasParser.CREG, BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.ARRAY, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH, BraketPragmasParser.GPHASE, BraketPragmasParser.INV, BraketPragmasParser.POW, BraketPragmasParser.CTRL, BraketPragmasParser.NEGCTRL, BraketPragmasParser.DURATIONOF, BraketPragmasParser.DELAY, BraketPragmasParser.RESET, BraketPragmasParser.MEASURE, BraketPragmasParser.BARRIER, BraketPragmasParser.BooleanLiteral, BraketPragmasParser.LPAREN, BraketPragmasParser.MINUS, BraketPragmasParser.TILDE, BraketPragmasParser.EXCLAMATION_POINT, BraketPragmasParser.ImaginaryLiteral, BraketPragmasParser.BinaryIntegerLiteral, BraketPragmasParser.OctalIntegerLiteral, BraketPragmasParser.DecimalIntegerLiteral, BraketPragmasParser.HexIntegerLiteral, BraketPragmasParser.Identifier, BraketPragmasParser.HardwareQubit, BraketPragmasParser.FloatLiteral, BraketPragmasParser.TimingLiteral, BraketPragmasParser.BitstringLiteral]: self.enterOuterAlt(localctx, 2) self.state = 363 self._errHandler.sync(self) _la = self._input.LA(1) while _la==BraketPragmasParser.AnnotationKeyword: self.state = 360 self.annotation() self.state = 365 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 393 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,21,self._ctx) if la_ == 1: self.state = 366 self.aliasDeclarationStatement() pass elif la_ == 2: self.state = 367 self.assignmentStatement() pass elif la_ == 3: self.state = 368 self.barrierStatement() pass elif la_ == 4: self.state = 369 self.boxStatement() pass elif la_ == 5: self.state = 370 self.breakStatement() pass elif la_ == 6: self.state = 371 self.calibrationGrammarStatement() pass elif la_ == 7: self.state = 372 self.classicalDeclarationStatement() pass elif la_ == 8: self.state = 373 self.constDeclarationStatement() pass elif la_ == 9: self.state = 374 self.continueStatement() pass elif la_ == 10: self.state = 375 self.defStatement() pass elif la_ == 11: self.state = 376 self.defcalStatement() pass elif la_ == 12: self.state = 377 self.delayStatement() pass elif la_ == 13: self.state = 378 self.endStatement() pass elif la_ == 14: self.state = 379 self.expressionStatement() pass elif la_ == 15: self.state = 380 self.externStatement() pass elif la_ == 16: self.state = 381 self.forStatement() pass elif la_ == 17: self.state = 382 self.gateCallStatement() pass elif la_ == 18: self.state = 383 self.gateStatement() pass elif la_ == 19: self.state = 384 self.ifStatement() pass elif la_ == 20: self.state = 385 self.includeStatement() pass elif la_ == 21: self.state = 386 self.ioDeclarationStatement() pass elif la_ == 22: self.state = 387 self.measureArrowAssignmentStatement() pass elif la_ == 23: self.state = 388 self.oldStyleDeclarationStatement() pass elif la_ == 24: self.state = 389 self.quantumDeclarationStatement() pass elif la_ == 25: self.state = 390 self.resetStatement() pass elif la_ == 26: self.state = 391 self.returnStatement() pass elif la_ == 27: self.state = 392 self.whileStatement() pass pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class AnnotationContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def AnnotationKeyword(self): return self.getToken(BraketPragmasParser.AnnotationKeyword, 0)
[docs] def RemainingLineContent(self): return self.getToken(BraketPragmasParser.RemainingLineContent, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_annotation
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterAnnotation" ): listener.enterAnnotation(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitAnnotation" ): listener.exitAnnotation(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitAnnotation" ): return visitor.visitAnnotation(self) else: return visitor.visitChildren(self)
[docs] def annotation(self): localctx = BraketPragmasParser.AnnotationContext(self, self._ctx, self.state) self.enterRule(localctx, 62, self.RULE_annotation) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 397 self.match(BraketPragmasParser.AnnotationKeyword) self.state = 399 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.RemainingLineContent: self.state = 398 self.match(BraketPragmasParser.RemainingLineContent) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ScopeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def LBRACE(self): return self.getToken(BraketPragmasParser.LBRACE, 0)
[docs] def RBRACE(self): return self.getToken(BraketPragmasParser.RBRACE, 0)
[docs] def statement(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.StatementContext) else: return self.getTypedRuleContext(BraketPragmasParser.StatementContext,i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_scope
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterScope" ): listener.enterScope(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitScope" ): listener.exitScope(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitScope" ): return visitor.visitScope(self) else: return visitor.visitChildren(self)
[docs] def scope(self): localctx = BraketPragmasParser.ScopeContext(self, self._ctx, self.state) self.enterRule(localctx, 64, self.RULE_scope) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 401 self.match(BraketPragmasParser.LBRACE) self.state = 405 self._errHandler.sync(self) _la = self._input.LA(1) while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << BraketPragmasParser.INCLUDE) | (1 << BraketPragmasParser.DEFCALGRAMMAR) | (1 << BraketPragmasParser.DEF) | (1 << BraketPragmasParser.DEFCAL) | (1 << BraketPragmasParser.GATE) | (1 << BraketPragmasParser.EXTERN) | (1 << BraketPragmasParser.BOX) | (1 << BraketPragmasParser.LET) | (1 << BraketPragmasParser.BREAK) | (1 << BraketPragmasParser.CONTINUE) | (1 << BraketPragmasParser.IF) | (1 << BraketPragmasParser.END) | (1 << BraketPragmasParser.RETURN) | (1 << BraketPragmasParser.FOR) | (1 << BraketPragmasParser.WHILE) | (1 << BraketPragmasParser.PRAGMA) | (1 << BraketPragmasParser.AnnotationKeyword) | (1 << BraketPragmasParser.INPUT) | (1 << BraketPragmasParser.OUTPUT) | (1 << BraketPragmasParser.CONST) | (1 << BraketPragmasParser.QREG) | (1 << BraketPragmasParser.QUBIT) | (1 << BraketPragmasParser.CREG) | (1 << BraketPragmasParser.BOOL) | (1 << BraketPragmasParser.BIT) | (1 << BraketPragmasParser.INT) | (1 << BraketPragmasParser.UINT) | (1 << BraketPragmasParser.FLOAT) | (1 << BraketPragmasParser.ANGLE))) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & ((1 << (BraketPragmasParser.COMPLEX - 64)) | (1 << (BraketPragmasParser.ARRAY - 64)) | (1 << (BraketPragmasParser.DURATION - 64)) | (1 << (BraketPragmasParser.STRETCH - 64)) | (1 << (BraketPragmasParser.GPHASE - 64)) | (1 << (BraketPragmasParser.INV - 64)) | (1 << (BraketPragmasParser.POW - 64)) | (1 << (BraketPragmasParser.CTRL - 64)) | (1 << (BraketPragmasParser.NEGCTRL - 64)) | (1 << (BraketPragmasParser.DURATIONOF - 64)) | (1 << (BraketPragmasParser.DELAY - 64)) | (1 << (BraketPragmasParser.RESET - 64)) | (1 << (BraketPragmasParser.MEASURE - 64)) | (1 << (BraketPragmasParser.BARRIER - 64)) | (1 << (BraketPragmasParser.BooleanLiteral - 64)) | (1 << (BraketPragmasParser.LPAREN - 64)) | (1 << (BraketPragmasParser.MINUS - 64)) | (1 << (BraketPragmasParser.TILDE - 64)) | (1 << (BraketPragmasParser.EXCLAMATION_POINT - 64)) | (1 << (BraketPragmasParser.ImaginaryLiteral - 64)) | (1 << (BraketPragmasParser.BinaryIntegerLiteral - 64)) | (1 << (BraketPragmasParser.OctalIntegerLiteral - 64)) | (1 << (BraketPragmasParser.DecimalIntegerLiteral - 64)) | (1 << (BraketPragmasParser.HexIntegerLiteral - 64)) | (1 << (BraketPragmasParser.Identifier - 64)) | (1 << (BraketPragmasParser.HardwareQubit - 64)) | (1 << (BraketPragmasParser.FloatLiteral - 64)) | (1 << (BraketPragmasParser.TimingLiteral - 64)) | (1 << (BraketPragmasParser.BitstringLiteral - 64)))) != 0): self.state = 402 self.statement() self.state = 407 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 408 self.match(BraketPragmasParser.RBRACE) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class PragmaContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def PRAGMA(self): return self.getToken(BraketPragmasParser.PRAGMA, 0)
[docs] def RemainingLineContent(self): return self.getToken(BraketPragmasParser.RemainingLineContent, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_pragma
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterPragma" ): listener.enterPragma(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitPragma" ): listener.exitPragma(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitPragma" ): return visitor.visitPragma(self) else: return visitor.visitChildren(self)
[docs] def pragma(self): localctx = BraketPragmasParser.PragmaContext(self, self._ctx, self.state) self.enterRule(localctx, 66, self.RULE_pragma) try: self.enterOuterAlt(localctx, 1) self.state = 410 self.match(BraketPragmasParser.PRAGMA) self.state = 411 self.match(BraketPragmasParser.RemainingLineContent) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class StatementOrScopeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def statement(self): return self.getTypedRuleContext(BraketPragmasParser.StatementContext,0)
[docs] def scope(self): return self.getTypedRuleContext(BraketPragmasParser.ScopeContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_statementOrScope
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterStatementOrScope" ): listener.enterStatementOrScope(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitStatementOrScope" ): listener.exitStatementOrScope(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitStatementOrScope" ): return visitor.visitStatementOrScope(self) else: return visitor.visitChildren(self)
[docs] def statementOrScope(self): localctx = BraketPragmasParser.StatementOrScopeContext(self, self._ctx, self.state) self.enterRule(localctx, 68, self.RULE_statementOrScope) try: self.state = 415 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.INCLUDE, BraketPragmasParser.DEFCALGRAMMAR, BraketPragmasParser.DEF, BraketPragmasParser.DEFCAL, BraketPragmasParser.GATE, BraketPragmasParser.EXTERN, BraketPragmasParser.BOX, BraketPragmasParser.LET, BraketPragmasParser.BREAK, BraketPragmasParser.CONTINUE, BraketPragmasParser.IF, BraketPragmasParser.END, BraketPragmasParser.RETURN, BraketPragmasParser.FOR, BraketPragmasParser.WHILE, BraketPragmasParser.PRAGMA, BraketPragmasParser.AnnotationKeyword, BraketPragmasParser.INPUT, BraketPragmasParser.OUTPUT, BraketPragmasParser.CONST, BraketPragmasParser.QREG, BraketPragmasParser.QUBIT, BraketPragmasParser.CREG, BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.ARRAY, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH, BraketPragmasParser.GPHASE, BraketPragmasParser.INV, BraketPragmasParser.POW, BraketPragmasParser.CTRL, BraketPragmasParser.NEGCTRL, BraketPragmasParser.DURATIONOF, BraketPragmasParser.DELAY, BraketPragmasParser.RESET, BraketPragmasParser.MEASURE, BraketPragmasParser.BARRIER, BraketPragmasParser.BooleanLiteral, BraketPragmasParser.LPAREN, BraketPragmasParser.MINUS, BraketPragmasParser.TILDE, BraketPragmasParser.EXCLAMATION_POINT, BraketPragmasParser.ImaginaryLiteral, BraketPragmasParser.BinaryIntegerLiteral, BraketPragmasParser.OctalIntegerLiteral, BraketPragmasParser.DecimalIntegerLiteral, BraketPragmasParser.HexIntegerLiteral, BraketPragmasParser.Identifier, BraketPragmasParser.HardwareQubit, BraketPragmasParser.FloatLiteral, BraketPragmasParser.TimingLiteral, BraketPragmasParser.BitstringLiteral]: self.enterOuterAlt(localctx, 1) self.state = 413 self.statement() pass elif token in [BraketPragmasParser.LBRACE]: self.enterOuterAlt(localctx, 2) self.state = 414 self.scope() pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class CalibrationGrammarStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def DEFCALGRAMMAR(self): return self.getToken(BraketPragmasParser.DEFCALGRAMMAR, 0)
[docs] def StringLiteral(self): return self.getToken(BraketPragmasParser.StringLiteral, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_calibrationGrammarStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterCalibrationGrammarStatement" ): listener.enterCalibrationGrammarStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitCalibrationGrammarStatement" ): listener.exitCalibrationGrammarStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitCalibrationGrammarStatement" ): return visitor.visitCalibrationGrammarStatement(self) else: return visitor.visitChildren(self)
[docs] def calibrationGrammarStatement(self): localctx = BraketPragmasParser.CalibrationGrammarStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 70, self.RULE_calibrationGrammarStatement) try: self.enterOuterAlt(localctx, 1) self.state = 417 self.match(BraketPragmasParser.DEFCALGRAMMAR) self.state = 418 self.match(BraketPragmasParser.StringLiteral) self.state = 419 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class IncludeStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def INCLUDE(self): return self.getToken(BraketPragmasParser.INCLUDE, 0)
[docs] def StringLiteral(self): return self.getToken(BraketPragmasParser.StringLiteral, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_includeStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterIncludeStatement" ): listener.enterIncludeStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitIncludeStatement" ): listener.exitIncludeStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitIncludeStatement" ): return visitor.visitIncludeStatement(self) else: return visitor.visitChildren(self)
[docs] def includeStatement(self): localctx = BraketPragmasParser.IncludeStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 72, self.RULE_includeStatement) try: self.enterOuterAlt(localctx, 1) self.state = 421 self.match(BraketPragmasParser.INCLUDE) self.state = 422 self.match(BraketPragmasParser.StringLiteral) self.state = 423 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class BreakStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BREAK(self): return self.getToken(BraketPragmasParser.BREAK, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_breakStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBreakStatement" ): listener.enterBreakStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBreakStatement" ): listener.exitBreakStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBreakStatement" ): return visitor.visitBreakStatement(self) else: return visitor.visitChildren(self)
[docs] def breakStatement(self): localctx = BraketPragmasParser.BreakStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 74, self.RULE_breakStatement) try: self.enterOuterAlt(localctx, 1) self.state = 425 self.match(BraketPragmasParser.BREAK) self.state = 426 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ContinueStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def CONTINUE(self): return self.getToken(BraketPragmasParser.CONTINUE, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_continueStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterContinueStatement" ): listener.enterContinueStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitContinueStatement" ): listener.exitContinueStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitContinueStatement" ): return visitor.visitContinueStatement(self) else: return visitor.visitChildren(self)
[docs] def continueStatement(self): localctx = BraketPragmasParser.ContinueStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 76, self.RULE_continueStatement) try: self.enterOuterAlt(localctx, 1) self.state = 428 self.match(BraketPragmasParser.CONTINUE) self.state = 429 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class EndStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def END(self): return self.getToken(BraketPragmasParser.END, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_endStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterEndStatement" ): listener.enterEndStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitEndStatement" ): listener.exitEndStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitEndStatement" ): return visitor.visitEndStatement(self) else: return visitor.visitChildren(self)
[docs] def endStatement(self): localctx = BraketPragmasParser.EndStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 78, self.RULE_endStatement) try: self.enterOuterAlt(localctx, 1) self.state = 431 self.match(BraketPragmasParser.END) self.state = 432 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ForStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser self.body = None # StatementOrScopeContext
[docs] def FOR(self): return self.getToken(BraketPragmasParser.FOR, 0)
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def Identifier(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.Identifier) else: return self.getToken(BraketPragmasParser.Identifier, i)
[docs] def IN(self): return self.getToken(BraketPragmasParser.IN, 0)
[docs] def statementOrScope(self): return self.getTypedRuleContext(BraketPragmasParser.StatementOrScopeContext,0)
[docs] def setExpression(self): return self.getTypedRuleContext(BraketPragmasParser.SetExpressionContext,0)
[docs] def LBRACKET(self): return self.getToken(BraketPragmasParser.LBRACKET, 0)
[docs] def rangeExpression(self): return self.getTypedRuleContext(BraketPragmasParser.RangeExpressionContext,0)
[docs] def RBRACKET(self): return self.getToken(BraketPragmasParser.RBRACKET, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_forStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterForStatement" ): listener.enterForStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitForStatement" ): listener.exitForStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitForStatement" ): return visitor.visitForStatement(self) else: return visitor.visitChildren(self)
[docs] def forStatement(self): localctx = BraketPragmasParser.ForStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 80, self.RULE_forStatement) try: self.enterOuterAlt(localctx, 1) self.state = 434 self.match(BraketPragmasParser.FOR) self.state = 435 self.scalarType() self.state = 436 self.match(BraketPragmasParser.Identifier) self.state = 437 self.match(BraketPragmasParser.IN) self.state = 444 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.LBRACE]: self.state = 438 self.setExpression() pass elif token in [BraketPragmasParser.LBRACKET]: self.state = 439 self.match(BraketPragmasParser.LBRACKET) self.state = 440 self.rangeExpression() self.state = 441 self.match(BraketPragmasParser.RBRACKET) pass elif token in [BraketPragmasParser.Identifier]: self.state = 443 self.match(BraketPragmasParser.Identifier) pass else: raise NoViableAltException(self) self.state = 446 localctx.body = self.statementOrScope() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class IfStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser self.if_body = None # StatementOrScopeContext self.else_body = None # StatementOrScopeContext
[docs] def IF(self): return self.getToken(BraketPragmasParser.IF, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def statementOrScope(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.StatementOrScopeContext) else: return self.getTypedRuleContext(BraketPragmasParser.StatementOrScopeContext,i)
[docs] def ELSE(self): return self.getToken(BraketPragmasParser.ELSE, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_ifStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterIfStatement" ): listener.enterIfStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitIfStatement" ): listener.exitIfStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitIfStatement" ): return visitor.visitIfStatement(self) else: return visitor.visitChildren(self)
[docs] def ifStatement(self): localctx = BraketPragmasParser.IfStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 82, self.RULE_ifStatement) try: self.enterOuterAlt(localctx, 1) self.state = 448 self.match(BraketPragmasParser.IF) self.state = 449 self.match(BraketPragmasParser.LPAREN) self.state = 450 self.expression(0) self.state = 451 self.match(BraketPragmasParser.RPAREN) self.state = 452 localctx.if_body = self.statementOrScope() self.state = 455 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,27,self._ctx) if la_ == 1: self.state = 453 self.match(BraketPragmasParser.ELSE) self.state = 454 localctx.else_body = self.statementOrScope() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ReturnStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def RETURN(self): return self.getToken(BraketPragmasParser.RETURN, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def measureExpression(self): return self.getTypedRuleContext(BraketPragmasParser.MeasureExpressionContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_returnStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterReturnStatement" ): listener.enterReturnStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitReturnStatement" ): listener.exitReturnStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitReturnStatement" ): return visitor.visitReturnStatement(self) else: return visitor.visitChildren(self)
[docs] def returnStatement(self): localctx = BraketPragmasParser.ReturnStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 84, self.RULE_returnStatement) try: self.enterOuterAlt(localctx, 1) self.state = 457 self.match(BraketPragmasParser.RETURN) self.state = 460 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.ARRAY, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH, BraketPragmasParser.DURATIONOF, BraketPragmasParser.BooleanLiteral, BraketPragmasParser.LPAREN, BraketPragmasParser.MINUS, BraketPragmasParser.TILDE, BraketPragmasParser.EXCLAMATION_POINT, BraketPragmasParser.ImaginaryLiteral, BraketPragmasParser.BinaryIntegerLiteral, BraketPragmasParser.OctalIntegerLiteral, BraketPragmasParser.DecimalIntegerLiteral, BraketPragmasParser.HexIntegerLiteral, BraketPragmasParser.Identifier, BraketPragmasParser.HardwareQubit, BraketPragmasParser.FloatLiteral, BraketPragmasParser.TimingLiteral, BraketPragmasParser.BitstringLiteral]: self.state = 458 self.expression(0) pass elif token in [BraketPragmasParser.MEASURE]: self.state = 459 self.measureExpression() pass elif token in [BraketPragmasParser.SEMICOLON]: pass else: pass self.state = 462 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class WhileStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser self.body = None # StatementOrScopeContext
[docs] def WHILE(self): return self.getToken(BraketPragmasParser.WHILE, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def statementOrScope(self): return self.getTypedRuleContext(BraketPragmasParser.StatementOrScopeContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_whileStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterWhileStatement" ): listener.enterWhileStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitWhileStatement" ): listener.exitWhileStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitWhileStatement" ): return visitor.visitWhileStatement(self) else: return visitor.visitChildren(self)
[docs] def whileStatement(self): localctx = BraketPragmasParser.WhileStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 86, self.RULE_whileStatement) try: self.enterOuterAlt(localctx, 1) self.state = 464 self.match(BraketPragmasParser.WHILE) self.state = 465 self.match(BraketPragmasParser.LPAREN) self.state = 466 self.expression(0) self.state = 467 self.match(BraketPragmasParser.RPAREN) self.state = 468 localctx.body = self.statementOrScope() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class BarrierStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BARRIER(self): return self.getToken(BraketPragmasParser.BARRIER, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def gateOperandList(self): return self.getTypedRuleContext(BraketPragmasParser.GateOperandListContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_barrierStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBarrierStatement" ): listener.enterBarrierStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBarrierStatement" ): listener.exitBarrierStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBarrierStatement" ): return visitor.visitBarrierStatement(self) else: return visitor.visitChildren(self)
[docs] def barrierStatement(self): localctx = BraketPragmasParser.BarrierStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 88, self.RULE_barrierStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 470 self.match(BraketPragmasParser.BARRIER) self.state = 472 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.Identifier or _la==BraketPragmasParser.HardwareQubit: self.state = 471 self.gateOperandList() self.state = 474 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class BoxStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BOX(self): return self.getToken(BraketPragmasParser.BOX, 0)
[docs] def scope(self): return self.getTypedRuleContext(BraketPragmasParser.ScopeContext,0)
[docs] def designator(self): return self.getTypedRuleContext(BraketPragmasParser.DesignatorContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_boxStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBoxStatement" ): listener.enterBoxStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBoxStatement" ): listener.exitBoxStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBoxStatement" ): return visitor.visitBoxStatement(self) else: return visitor.visitChildren(self)
[docs] def boxStatement(self): localctx = BraketPragmasParser.BoxStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 90, self.RULE_boxStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 476 self.match(BraketPragmasParser.BOX) self.state = 478 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 477 self.designator() self.state = 480 self.scope() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class DelayStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def DELAY(self): return self.getToken(BraketPragmasParser.DELAY, 0)
[docs] def designator(self): return self.getTypedRuleContext(BraketPragmasParser.DesignatorContext,0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def gateOperandList(self): return self.getTypedRuleContext(BraketPragmasParser.GateOperandListContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_delayStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterDelayStatement" ): listener.enterDelayStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitDelayStatement" ): listener.exitDelayStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitDelayStatement" ): return visitor.visitDelayStatement(self) else: return visitor.visitChildren(self)
[docs] def delayStatement(self): localctx = BraketPragmasParser.DelayStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 92, self.RULE_delayStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 482 self.match(BraketPragmasParser.DELAY) self.state = 483 self.designator() self.state = 485 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.Identifier or _la==BraketPragmasParser.HardwareQubit: self.state = 484 self.gateOperandList() self.state = 487 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class GateCallStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def gateOperandList(self): return self.getTypedRuleContext(BraketPragmasParser.GateOperandListContext,0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def gateModifier(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.GateModifierContext) else: return self.getTypedRuleContext(BraketPragmasParser.GateModifierContext,i)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def designator(self): return self.getTypedRuleContext(BraketPragmasParser.DesignatorContext,0)
[docs] def expressionList(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionListContext,0)
[docs] def GPHASE(self): return self.getToken(BraketPragmasParser.GPHASE, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_gateCallStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterGateCallStatement" ): listener.enterGateCallStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitGateCallStatement" ): listener.exitGateCallStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitGateCallStatement" ): return visitor.visitGateCallStatement(self) else: return visitor.visitChildren(self)
[docs] def gateCallStatement(self): localctx = BraketPragmasParser.GateCallStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 94, self.RULE_gateCallStatement) self._la = 0 # Token type try: self.state = 530 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,41,self._ctx) if la_ == 1: self.enterOuterAlt(localctx, 1) self.state = 492 self._errHandler.sync(self) _la = self._input.LA(1) while ((((_la - 69)) & ~0x3f) == 0 and ((1 << (_la - 69)) & ((1 << (BraketPragmasParser.INV - 69)) | (1 << (BraketPragmasParser.POW - 69)) | (1 << (BraketPragmasParser.CTRL - 69)) | (1 << (BraketPragmasParser.NEGCTRL - 69)))) != 0): self.state = 489 self.gateModifier() self.state = 494 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 495 self.match(BraketPragmasParser.Identifier) self.state = 501 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LPAREN: self.state = 496 self.match(BraketPragmasParser.LPAREN) self.state = 498 self._errHandler.sync(self) _la = self._input.LA(1) if ((((_la - 58)) & ~0x3f) == 0 and ((1 << (_la - 58)) & ((1 << (BraketPragmasParser.BOOL - 58)) | (1 << (BraketPragmasParser.BIT - 58)) | (1 << (BraketPragmasParser.INT - 58)) | (1 << (BraketPragmasParser.UINT - 58)) | (1 << (BraketPragmasParser.FLOAT - 58)) | (1 << (BraketPragmasParser.ANGLE - 58)) | (1 << (BraketPragmasParser.COMPLEX - 58)) | (1 << (BraketPragmasParser.ARRAY - 58)) | (1 << (BraketPragmasParser.DURATION - 58)) | (1 << (BraketPragmasParser.STRETCH - 58)) | (1 << (BraketPragmasParser.DURATIONOF - 58)) | (1 << (BraketPragmasParser.BooleanLiteral - 58)) | (1 << (BraketPragmasParser.LPAREN - 58)) | (1 << (BraketPragmasParser.MINUS - 58)) | (1 << (BraketPragmasParser.TILDE - 58)) | (1 << (BraketPragmasParser.EXCLAMATION_POINT - 58)) | (1 << (BraketPragmasParser.ImaginaryLiteral - 58)) | (1 << (BraketPragmasParser.BinaryIntegerLiteral - 58)) | (1 << (BraketPragmasParser.OctalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.DecimalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.HexIntegerLiteral - 58)) | (1 << (BraketPragmasParser.Identifier - 58)) | (1 << (BraketPragmasParser.HardwareQubit - 58)) | (1 << (BraketPragmasParser.FloatLiteral - 58)) | (1 << (BraketPragmasParser.TimingLiteral - 58)) | (1 << (BraketPragmasParser.BitstringLiteral - 58)))) != 0): self.state = 497 self.expressionList() self.state = 500 self.match(BraketPragmasParser.RPAREN) self.state = 504 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 503 self.designator() self.state = 506 self.gateOperandList() self.state = 507 self.match(BraketPragmasParser.SEMICOLON) pass elif la_ == 2: self.enterOuterAlt(localctx, 2) self.state = 512 self._errHandler.sync(self) _la = self._input.LA(1) while ((((_la - 69)) & ~0x3f) == 0 and ((1 << (_la - 69)) & ((1 << (BraketPragmasParser.INV - 69)) | (1 << (BraketPragmasParser.POW - 69)) | (1 << (BraketPragmasParser.CTRL - 69)) | (1 << (BraketPragmasParser.NEGCTRL - 69)))) != 0): self.state = 509 self.gateModifier() self.state = 514 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 515 self.match(BraketPragmasParser.GPHASE) self.state = 521 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LPAREN: self.state = 516 self.match(BraketPragmasParser.LPAREN) self.state = 518 self._errHandler.sync(self) _la = self._input.LA(1) if ((((_la - 58)) & ~0x3f) == 0 and ((1 << (_la - 58)) & ((1 << (BraketPragmasParser.BOOL - 58)) | (1 << (BraketPragmasParser.BIT - 58)) | (1 << (BraketPragmasParser.INT - 58)) | (1 << (BraketPragmasParser.UINT - 58)) | (1 << (BraketPragmasParser.FLOAT - 58)) | (1 << (BraketPragmasParser.ANGLE - 58)) | (1 << (BraketPragmasParser.COMPLEX - 58)) | (1 << (BraketPragmasParser.ARRAY - 58)) | (1 << (BraketPragmasParser.DURATION - 58)) | (1 << (BraketPragmasParser.STRETCH - 58)) | (1 << (BraketPragmasParser.DURATIONOF - 58)) | (1 << (BraketPragmasParser.BooleanLiteral - 58)) | (1 << (BraketPragmasParser.LPAREN - 58)) | (1 << (BraketPragmasParser.MINUS - 58)) | (1 << (BraketPragmasParser.TILDE - 58)) | (1 << (BraketPragmasParser.EXCLAMATION_POINT - 58)) | (1 << (BraketPragmasParser.ImaginaryLiteral - 58)) | (1 << (BraketPragmasParser.BinaryIntegerLiteral - 58)) | (1 << (BraketPragmasParser.OctalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.DecimalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.HexIntegerLiteral - 58)) | (1 << (BraketPragmasParser.Identifier - 58)) | (1 << (BraketPragmasParser.HardwareQubit - 58)) | (1 << (BraketPragmasParser.FloatLiteral - 58)) | (1 << (BraketPragmasParser.TimingLiteral - 58)) | (1 << (BraketPragmasParser.BitstringLiteral - 58)))) != 0): self.state = 517 self.expressionList() self.state = 520 self.match(BraketPragmasParser.RPAREN) self.state = 524 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 523 self.designator() self.state = 527 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.Identifier or _la==BraketPragmasParser.HardwareQubit: self.state = 526 self.gateOperandList() self.state = 529 self.match(BraketPragmasParser.SEMICOLON) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class MeasureArrowAssignmentStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def measureExpression(self): return self.getTypedRuleContext(BraketPragmasParser.MeasureExpressionContext,0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def ARROW(self): return self.getToken(BraketPragmasParser.ARROW, 0)
[docs] def indexedIdentifier(self): return self.getTypedRuleContext(BraketPragmasParser.IndexedIdentifierContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_measureArrowAssignmentStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMeasureArrowAssignmentStatement" ): listener.enterMeasureArrowAssignmentStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMeasureArrowAssignmentStatement" ): listener.exitMeasureArrowAssignmentStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitMeasureArrowAssignmentStatement" ): return visitor.visitMeasureArrowAssignmentStatement(self) else: return visitor.visitChildren(self)
[docs] def measureArrowAssignmentStatement(self): localctx = BraketPragmasParser.MeasureArrowAssignmentStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 96, self.RULE_measureArrowAssignmentStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 532 self.measureExpression() self.state = 535 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.ARROW: self.state = 533 self.match(BraketPragmasParser.ARROW) self.state = 534 self.indexedIdentifier() self.state = 537 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ResetStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def RESET(self): return self.getToken(BraketPragmasParser.RESET, 0)
[docs] def gateOperand(self): return self.getTypedRuleContext(BraketPragmasParser.GateOperandContext,0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_resetStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterResetStatement" ): listener.enterResetStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitResetStatement" ): listener.exitResetStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitResetStatement" ): return visitor.visitResetStatement(self) else: return visitor.visitChildren(self)
[docs] def resetStatement(self): localctx = BraketPragmasParser.ResetStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 98, self.RULE_resetStatement) try: self.enterOuterAlt(localctx, 1) self.state = 539 self.match(BraketPragmasParser.RESET) self.state = 540 self.gateOperand() self.state = 541 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class AliasDeclarationStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def LET(self): return self.getToken(BraketPragmasParser.LET, 0)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def EQUALS(self): return self.getToken(BraketPragmasParser.EQUALS, 0)
[docs] def aliasExpression(self): return self.getTypedRuleContext(BraketPragmasParser.AliasExpressionContext,0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_aliasDeclarationStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterAliasDeclarationStatement" ): listener.enterAliasDeclarationStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitAliasDeclarationStatement" ): listener.exitAliasDeclarationStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitAliasDeclarationStatement" ): return visitor.visitAliasDeclarationStatement(self) else: return visitor.visitChildren(self)
[docs] def aliasDeclarationStatement(self): localctx = BraketPragmasParser.AliasDeclarationStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 100, self.RULE_aliasDeclarationStatement) try: self.enterOuterAlt(localctx, 1) self.state = 543 self.match(BraketPragmasParser.LET) self.state = 544 self.match(BraketPragmasParser.Identifier) self.state = 545 self.match(BraketPragmasParser.EQUALS) self.state = 546 self.aliasExpression() self.state = 547 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ClassicalDeclarationStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def arrayType(self): return self.getTypedRuleContext(BraketPragmasParser.ArrayTypeContext,0)
[docs] def EQUALS(self): return self.getToken(BraketPragmasParser.EQUALS, 0)
[docs] def declarationExpression(self): return self.getTypedRuleContext(BraketPragmasParser.DeclarationExpressionContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_classicalDeclarationStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterClassicalDeclarationStatement" ): listener.enterClassicalDeclarationStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitClassicalDeclarationStatement" ): listener.exitClassicalDeclarationStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitClassicalDeclarationStatement" ): return visitor.visitClassicalDeclarationStatement(self) else: return visitor.visitChildren(self)
[docs] def classicalDeclarationStatement(self): localctx = BraketPragmasParser.ClassicalDeclarationStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 102, self.RULE_classicalDeclarationStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 551 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH]: self.state = 549 self.scalarType() pass elif token in [BraketPragmasParser.ARRAY]: self.state = 550 self.arrayType() pass else: raise NoViableAltException(self) self.state = 553 self.match(BraketPragmasParser.Identifier) self.state = 556 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.EQUALS: self.state = 554 self.match(BraketPragmasParser.EQUALS) self.state = 555 self.declarationExpression() self.state = 558 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ConstDeclarationStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def CONST(self): return self.getToken(BraketPragmasParser.CONST, 0)
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def EQUALS(self): return self.getToken(BraketPragmasParser.EQUALS, 0)
[docs] def declarationExpression(self): return self.getTypedRuleContext(BraketPragmasParser.DeclarationExpressionContext,0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_constDeclarationStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterConstDeclarationStatement" ): listener.enterConstDeclarationStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitConstDeclarationStatement" ): listener.exitConstDeclarationStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitConstDeclarationStatement" ): return visitor.visitConstDeclarationStatement(self) else: return visitor.visitChildren(self)
[docs] def constDeclarationStatement(self): localctx = BraketPragmasParser.ConstDeclarationStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 104, self.RULE_constDeclarationStatement) try: self.enterOuterAlt(localctx, 1) self.state = 560 self.match(BraketPragmasParser.CONST) self.state = 561 self.scalarType() self.state = 562 self.match(BraketPragmasParser.Identifier) self.state = 563 self.match(BraketPragmasParser.EQUALS) self.state = 564 self.declarationExpression() self.state = 565 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class IoDeclarationStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def INPUT(self): return self.getToken(BraketPragmasParser.INPUT, 0)
[docs] def OUTPUT(self): return self.getToken(BraketPragmasParser.OUTPUT, 0)
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def arrayType(self): return self.getTypedRuleContext(BraketPragmasParser.ArrayTypeContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_ioDeclarationStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterIoDeclarationStatement" ): listener.enterIoDeclarationStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitIoDeclarationStatement" ): listener.exitIoDeclarationStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitIoDeclarationStatement" ): return visitor.visitIoDeclarationStatement(self) else: return visitor.visitChildren(self)
[docs] def ioDeclarationStatement(self): localctx = BraketPragmasParser.IoDeclarationStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 106, self.RULE_ioDeclarationStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 567 _la = self._input.LA(1) if not(_la==BraketPragmasParser.INPUT or _la==BraketPragmasParser.OUTPUT): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 570 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH]: self.state = 568 self.scalarType() pass elif token in [BraketPragmasParser.ARRAY]: self.state = 569 self.arrayType() pass else: raise NoViableAltException(self) self.state = 572 self.match(BraketPragmasParser.Identifier) self.state = 573 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class OldStyleDeclarationStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def CREG(self): return self.getToken(BraketPragmasParser.CREG, 0)
[docs] def QREG(self): return self.getToken(BraketPragmasParser.QREG, 0)
[docs] def designator(self): return self.getTypedRuleContext(BraketPragmasParser.DesignatorContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_oldStyleDeclarationStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterOldStyleDeclarationStatement" ): listener.enterOldStyleDeclarationStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitOldStyleDeclarationStatement" ): listener.exitOldStyleDeclarationStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitOldStyleDeclarationStatement" ): return visitor.visitOldStyleDeclarationStatement(self) else: return visitor.visitChildren(self)
[docs] def oldStyleDeclarationStatement(self): localctx = BraketPragmasParser.OldStyleDeclarationStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 108, self.RULE_oldStyleDeclarationStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 575 _la = self._input.LA(1) if not(_la==BraketPragmasParser.QREG or _la==BraketPragmasParser.CREG): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 576 self.match(BraketPragmasParser.Identifier) self.state = 578 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 577 self.designator() self.state = 580 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class QuantumDeclarationStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def qubitType(self): return self.getTypedRuleContext(BraketPragmasParser.QubitTypeContext,0)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_quantumDeclarationStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterQuantumDeclarationStatement" ): listener.enterQuantumDeclarationStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitQuantumDeclarationStatement" ): listener.exitQuantumDeclarationStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitQuantumDeclarationStatement" ): return visitor.visitQuantumDeclarationStatement(self) else: return visitor.visitChildren(self)
[docs] def quantumDeclarationStatement(self): localctx = BraketPragmasParser.QuantumDeclarationStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 110, self.RULE_quantumDeclarationStatement) try: self.enterOuterAlt(localctx, 1) self.state = 582 self.qubitType() self.state = 583 self.match(BraketPragmasParser.Identifier) self.state = 584 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class DefStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def DEF(self): return self.getToken(BraketPragmasParser.DEF, 0)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def scope(self): return self.getTypedRuleContext(BraketPragmasParser.ScopeContext,0)
[docs] def argumentDefinitionList(self): return self.getTypedRuleContext(BraketPragmasParser.ArgumentDefinitionListContext,0)
[docs] def returnSignature(self): return self.getTypedRuleContext(BraketPragmasParser.ReturnSignatureContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_defStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterDefStatement" ): listener.enterDefStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitDefStatement" ): listener.exitDefStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitDefStatement" ): return visitor.visitDefStatement(self) else: return visitor.visitChildren(self)
[docs] def defStatement(self): localctx = BraketPragmasParser.DefStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 112, self.RULE_defStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 586 self.match(BraketPragmasParser.DEF) self.state = 587 self.match(BraketPragmasParser.Identifier) self.state = 588 self.match(BraketPragmasParser.LPAREN) self.state = 590 self._errHandler.sync(self) _la = self._input.LA(1) if ((((_la - 53)) & ~0x3f) == 0 and ((1 << (_la - 53)) & ((1 << (BraketPragmasParser.CONST - 53)) | (1 << (BraketPragmasParser.MUTABLE - 53)) | (1 << (BraketPragmasParser.QREG - 53)) | (1 << (BraketPragmasParser.QUBIT - 53)) | (1 << (BraketPragmasParser.CREG - 53)) | (1 << (BraketPragmasParser.BOOL - 53)) | (1 << (BraketPragmasParser.BIT - 53)) | (1 << (BraketPragmasParser.INT - 53)) | (1 << (BraketPragmasParser.UINT - 53)) | (1 << (BraketPragmasParser.FLOAT - 53)) | (1 << (BraketPragmasParser.ANGLE - 53)) | (1 << (BraketPragmasParser.COMPLEX - 53)) | (1 << (BraketPragmasParser.DURATION - 53)) | (1 << (BraketPragmasParser.STRETCH - 53)))) != 0): self.state = 589 self.argumentDefinitionList() self.state = 592 self.match(BraketPragmasParser.RPAREN) self.state = 594 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.ARROW: self.state = 593 self.returnSignature() self.state = 596 self.scope() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ExternStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def EXTERN(self): return self.getToken(BraketPragmasParser.EXTERN, 0)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def externArgumentList(self): return self.getTypedRuleContext(BraketPragmasParser.ExternArgumentListContext,0)
[docs] def returnSignature(self): return self.getTypedRuleContext(BraketPragmasParser.ReturnSignatureContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_externStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterExternStatement" ): listener.enterExternStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitExternStatement" ): listener.exitExternStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitExternStatement" ): return visitor.visitExternStatement(self) else: return visitor.visitChildren(self)
[docs] def externStatement(self): localctx = BraketPragmasParser.ExternStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 114, self.RULE_externStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 598 self.match(BraketPragmasParser.EXTERN) self.state = 599 self.match(BraketPragmasParser.Identifier) self.state = 600 self.match(BraketPragmasParser.LPAREN) self.state = 602 self._errHandler.sync(self) _la = self._input.LA(1) if ((((_la - 53)) & ~0x3f) == 0 and ((1 << (_la - 53)) & ((1 << (BraketPragmasParser.CONST - 53)) | (1 << (BraketPragmasParser.MUTABLE - 53)) | (1 << (BraketPragmasParser.CREG - 53)) | (1 << (BraketPragmasParser.BOOL - 53)) | (1 << (BraketPragmasParser.BIT - 53)) | (1 << (BraketPragmasParser.INT - 53)) | (1 << (BraketPragmasParser.UINT - 53)) | (1 << (BraketPragmasParser.FLOAT - 53)) | (1 << (BraketPragmasParser.ANGLE - 53)) | (1 << (BraketPragmasParser.COMPLEX - 53)) | (1 << (BraketPragmasParser.DURATION - 53)) | (1 << (BraketPragmasParser.STRETCH - 53)))) != 0): self.state = 601 self.externArgumentList() self.state = 604 self.match(BraketPragmasParser.RPAREN) self.state = 606 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.ARROW: self.state = 605 self.returnSignature() self.state = 608 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class GateStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser self.params = None # IdentifierListContext self.qubits = None # IdentifierListContext
[docs] def GATE(self): return self.getToken(BraketPragmasParser.GATE, 0)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def scope(self): return self.getTypedRuleContext(BraketPragmasParser.ScopeContext,0)
[docs] def identifierList(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.IdentifierListContext) else: return self.getTypedRuleContext(BraketPragmasParser.IdentifierListContext,i)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_gateStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterGateStatement" ): listener.enterGateStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitGateStatement" ): listener.exitGateStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitGateStatement" ): return visitor.visitGateStatement(self) else: return visitor.visitChildren(self)
[docs] def gateStatement(self): localctx = BraketPragmasParser.GateStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 116, self.RULE_gateStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 610 self.match(BraketPragmasParser.GATE) self.state = 611 self.match(BraketPragmasParser.Identifier) self.state = 617 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LPAREN: self.state = 612 self.match(BraketPragmasParser.LPAREN) self.state = 614 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.Identifier: self.state = 613 localctx.params = self.identifierList() self.state = 616 self.match(BraketPragmasParser.RPAREN) self.state = 619 localctx.qubits = self.identifierList() self.state = 620 self.scope() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class AssignmentStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser self.op = None # Token
[docs] def indexedIdentifier(self): return self.getTypedRuleContext(BraketPragmasParser.IndexedIdentifierContext,0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def EQUALS(self): return self.getToken(BraketPragmasParser.EQUALS, 0)
[docs] def CompoundAssignmentOperator(self): return self.getToken(BraketPragmasParser.CompoundAssignmentOperator, 0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def measureExpression(self): return self.getTypedRuleContext(BraketPragmasParser.MeasureExpressionContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_assignmentStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterAssignmentStatement" ): listener.enterAssignmentStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitAssignmentStatement" ): listener.exitAssignmentStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitAssignmentStatement" ): return visitor.visitAssignmentStatement(self) else: return visitor.visitChildren(self)
[docs] def assignmentStatement(self): localctx = BraketPragmasParser.AssignmentStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 118, self.RULE_assignmentStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 622 self.indexedIdentifier() self.state = 623 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not(_la==BraketPragmasParser.EQUALS or _la==BraketPragmasParser.CompoundAssignmentOperator): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 626 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.ARRAY, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH, BraketPragmasParser.DURATIONOF, BraketPragmasParser.BooleanLiteral, BraketPragmasParser.LPAREN, BraketPragmasParser.MINUS, BraketPragmasParser.TILDE, BraketPragmasParser.EXCLAMATION_POINT, BraketPragmasParser.ImaginaryLiteral, BraketPragmasParser.BinaryIntegerLiteral, BraketPragmasParser.OctalIntegerLiteral, BraketPragmasParser.DecimalIntegerLiteral, BraketPragmasParser.HexIntegerLiteral, BraketPragmasParser.Identifier, BraketPragmasParser.HardwareQubit, BraketPragmasParser.FloatLiteral, BraketPragmasParser.TimingLiteral, BraketPragmasParser.BitstringLiteral]: self.state = 624 self.expression(0) pass elif token in [BraketPragmasParser.MEASURE]: self.state = 625 self.measureExpression() pass else: raise NoViableAltException(self) self.state = 628 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ExpressionStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def SEMICOLON(self): return self.getToken(BraketPragmasParser.SEMICOLON, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_expressionStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterExpressionStatement" ): listener.enterExpressionStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitExpressionStatement" ): listener.exitExpressionStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitExpressionStatement" ): return visitor.visitExpressionStatement(self) else: return visitor.visitChildren(self)
[docs] def expressionStatement(self): localctx = BraketPragmasParser.ExpressionStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 120, self.RULE_expressionStatement) try: self.enterOuterAlt(localctx, 1) self.state = 630 self.expression(0) self.state = 631 self.match(BraketPragmasParser.SEMICOLON) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class DefcalStatementContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def DEFCAL(self): return self.getToken(BraketPragmasParser.DEFCAL, 0)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def defcalArgumentList(self): return self.getTypedRuleContext(BraketPragmasParser.DefcalArgumentListContext,0)
[docs] def LBRACE(self): return self.getToken(BraketPragmasParser.LBRACE, 0)
[docs] def RBRACE(self): return self.getToken(BraketPragmasParser.RBRACE, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def returnSignature(self): return self.getTypedRuleContext(BraketPragmasParser.ReturnSignatureContext,0)
[docs] def argumentDefinitionList(self): return self.getTypedRuleContext(BraketPragmasParser.ArgumentDefinitionListContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_defcalStatement
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterDefcalStatement" ): listener.enterDefcalStatement(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitDefcalStatement" ): listener.exitDefcalStatement(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitDefcalStatement" ): return visitor.visitDefcalStatement(self) else: return visitor.visitChildren(self)
[docs] def defcalStatement(self): localctx = BraketPragmasParser.DefcalStatementContext(self, self._ctx, self.state) self.enterRule(localctx, 122, self.RULE_defcalStatement) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 633 self.match(BraketPragmasParser.DEFCAL) self.state = 634 self.match(BraketPragmasParser.Identifier) self.state = 640 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LPAREN: self.state = 635 self.match(BraketPragmasParser.LPAREN) self.state = 637 self._errHandler.sync(self) _la = self._input.LA(1) if ((((_la - 53)) & ~0x3f) == 0 and ((1 << (_la - 53)) & ((1 << (BraketPragmasParser.CONST - 53)) | (1 << (BraketPragmasParser.MUTABLE - 53)) | (1 << (BraketPragmasParser.QREG - 53)) | (1 << (BraketPragmasParser.QUBIT - 53)) | (1 << (BraketPragmasParser.CREG - 53)) | (1 << (BraketPragmasParser.BOOL - 53)) | (1 << (BraketPragmasParser.BIT - 53)) | (1 << (BraketPragmasParser.INT - 53)) | (1 << (BraketPragmasParser.UINT - 53)) | (1 << (BraketPragmasParser.FLOAT - 53)) | (1 << (BraketPragmasParser.ANGLE - 53)) | (1 << (BraketPragmasParser.COMPLEX - 53)) | (1 << (BraketPragmasParser.DURATION - 53)) | (1 << (BraketPragmasParser.STRETCH - 53)))) != 0): self.state = 636 self.argumentDefinitionList() self.state = 639 self.match(BraketPragmasParser.RPAREN) self.state = 642 self.defcalArgumentList() self.state = 644 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.ARROW: self.state = 643 self.returnSignature() self.state = 646 self.match(BraketPragmasParser.LBRACE) self.state = 650 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,57,self._ctx) while _alt!=1 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1+1: self.state = 647 self.matchWildcard() self.state = 652 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,57,self._ctx) self.state = 653 self.match(BraketPragmasParser.RBRACE) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ExpressionContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_expression
[docs] def copyFrom(self, ctx:ParserRuleContext): super().copyFrom(ctx)
[docs] class BitwiseXorExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def CARET(self): return self.getToken(BraketPragmasParser.CARET, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBitwiseXorExpression" ): listener.enterBitwiseXorExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBitwiseXorExpression" ): listener.exitBitwiseXorExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBitwiseXorExpression" ): return visitor.visitBitwiseXorExpression(self) else: return visitor.visitChildren(self)
[docs] class AdditiveExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def PLUS(self): return self.getToken(BraketPragmasParser.PLUS, 0)
[docs] def MINUS(self): return self.getToken(BraketPragmasParser.MINUS, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterAdditiveExpression" ): listener.enterAdditiveExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitAdditiveExpression" ): listener.exitAdditiveExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitAdditiveExpression" ): return visitor.visitAdditiveExpression(self) else: return visitor.visitChildren(self)
[docs] class DurationofExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.copyFrom(ctx)
[docs] def DURATIONOF(self): return self.getToken(BraketPragmasParser.DURATIONOF, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def scope(self): return self.getTypedRuleContext(BraketPragmasParser.ScopeContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterDurationofExpression" ): listener.enterDurationofExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitDurationofExpression" ): listener.exitDurationofExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitDurationofExpression" ): return visitor.visitDurationofExpression(self) else: return visitor.visitChildren(self)
[docs] class ParenthesisExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.copyFrom(ctx)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterParenthesisExpression" ): listener.enterParenthesisExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitParenthesisExpression" ): listener.exitParenthesisExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitParenthesisExpression" ): return visitor.visitParenthesisExpression(self) else: return visitor.visitChildren(self)
[docs] class ComparisonExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def ComparisonOperator(self): return self.getToken(BraketPragmasParser.ComparisonOperator, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterComparisonExpression" ): listener.enterComparisonExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitComparisonExpression" ): listener.exitComparisonExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitComparisonExpression" ): return visitor.visitComparisonExpression(self) else: return visitor.visitChildren(self)
[docs] class MultiplicativeExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def ASTERISK(self): return self.getToken(BraketPragmasParser.ASTERISK, 0)
[docs] def SLASH(self): return self.getToken(BraketPragmasParser.SLASH, 0)
[docs] def PERCENT(self): return self.getToken(BraketPragmasParser.PERCENT, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMultiplicativeExpression" ): listener.enterMultiplicativeExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMultiplicativeExpression" ): listener.exitMultiplicativeExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitMultiplicativeExpression" ): return visitor.visitMultiplicativeExpression(self) else: return visitor.visitChildren(self)
[docs] class LogicalOrExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def DOUBLE_PIPE(self): return self.getToken(BraketPragmasParser.DOUBLE_PIPE, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterLogicalOrExpression" ): listener.enterLogicalOrExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitLogicalOrExpression" ): listener.exitLogicalOrExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitLogicalOrExpression" ): return visitor.visitLogicalOrExpression(self) else: return visitor.visitChildren(self)
[docs] class CastExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.copyFrom(ctx)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def arrayType(self): return self.getTypedRuleContext(BraketPragmasParser.ArrayTypeContext,0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterCastExpression" ): listener.enterCastExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitCastExpression" ): listener.exitCastExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitCastExpression" ): return visitor.visitCastExpression(self) else: return visitor.visitChildren(self)
[docs] class PowerExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def DOUBLE_ASTERISK(self): return self.getToken(BraketPragmasParser.DOUBLE_ASTERISK, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterPowerExpression" ): listener.enterPowerExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitPowerExpression" ): listener.exitPowerExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitPowerExpression" ): return visitor.visitPowerExpression(self) else: return visitor.visitChildren(self)
[docs] class BitwiseOrExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def PIPE(self): return self.getToken(BraketPragmasParser.PIPE, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBitwiseOrExpression" ): listener.enterBitwiseOrExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBitwiseOrExpression" ): listener.exitBitwiseOrExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBitwiseOrExpression" ): return visitor.visitBitwiseOrExpression(self) else: return visitor.visitChildren(self)
[docs] class CallExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.copyFrom(ctx)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def expressionList(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionListContext,0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterCallExpression" ): listener.enterCallExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitCallExpression" ): listener.exitCallExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitCallExpression" ): return visitor.visitCallExpression(self) else: return visitor.visitChildren(self)
[docs] class BitshiftExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def BitshiftOperator(self): return self.getToken(BraketPragmasParser.BitshiftOperator, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBitshiftExpression" ): listener.enterBitshiftExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBitshiftExpression" ): listener.exitBitshiftExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBitshiftExpression" ): return visitor.visitBitshiftExpression(self) else: return visitor.visitChildren(self)
[docs] class BitwiseAndExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def AMPERSAND(self): return self.getToken(BraketPragmasParser.AMPERSAND, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterBitwiseAndExpression" ): listener.enterBitwiseAndExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitBitwiseAndExpression" ): listener.exitBitwiseAndExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitBitwiseAndExpression" ): return visitor.visitBitwiseAndExpression(self) else: return visitor.visitChildren(self)
[docs] class EqualityExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def EqualityOperator(self): return self.getToken(BraketPragmasParser.EqualityOperator, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterEqualityExpression" ): listener.enterEqualityExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitEqualityExpression" ): listener.exitEqualityExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitEqualityExpression" ): return visitor.visitEqualityExpression(self) else: return visitor.visitChildren(self)
[docs] class LogicalAndExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def DOUBLE_AMPERSAND(self): return self.getToken(BraketPragmasParser.DOUBLE_AMPERSAND, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterLogicalAndExpression" ): listener.enterLogicalAndExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitLogicalAndExpression" ): listener.exitLogicalAndExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitLogicalAndExpression" ): return visitor.visitLogicalAndExpression(self) else: return visitor.visitChildren(self)
[docs] class IndexExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.copyFrom(ctx)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def indexOperator(self): return self.getTypedRuleContext(BraketPragmasParser.IndexOperatorContext,0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterIndexExpression" ): listener.enterIndexExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitIndexExpression" ): listener.exitIndexExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitIndexExpression" ): return visitor.visitIndexExpression(self) else: return visitor.visitChildren(self)
[docs] class UnaryExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def TILDE(self): return self.getToken(BraketPragmasParser.TILDE, 0)
[docs] def EXCLAMATION_POINT(self): return self.getToken(BraketPragmasParser.EXCLAMATION_POINT, 0)
[docs] def MINUS(self): return self.getToken(BraketPragmasParser.MINUS, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterUnaryExpression" ): listener.enterUnaryExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitUnaryExpression" ): listener.exitUnaryExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitUnaryExpression" ): return visitor.visitUnaryExpression(self) else: return visitor.visitChildren(self)
[docs] class LiteralExpressionContext(ExpressionContext): def __init__(self, parser, ctx:ParserRuleContext): # actually a BraketPragmasParser.ExpressionContext super().__init__(parser) self.copyFrom(ctx)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def BinaryIntegerLiteral(self): return self.getToken(BraketPragmasParser.BinaryIntegerLiteral, 0)
[docs] def OctalIntegerLiteral(self): return self.getToken(BraketPragmasParser.OctalIntegerLiteral, 0)
[docs] def DecimalIntegerLiteral(self): return self.getToken(BraketPragmasParser.DecimalIntegerLiteral, 0)
[docs] def HexIntegerLiteral(self): return self.getToken(BraketPragmasParser.HexIntegerLiteral, 0)
[docs] def FloatLiteral(self): return self.getToken(BraketPragmasParser.FloatLiteral, 0)
[docs] def ImaginaryLiteral(self): return self.getToken(BraketPragmasParser.ImaginaryLiteral, 0)
[docs] def BooleanLiteral(self): return self.getToken(BraketPragmasParser.BooleanLiteral, 0)
[docs] def BitstringLiteral(self): return self.getToken(BraketPragmasParser.BitstringLiteral, 0)
[docs] def TimingLiteral(self): return self.getToken(BraketPragmasParser.TimingLiteral, 0)
[docs] def HardwareQubit(self): return self.getToken(BraketPragmasParser.HardwareQubit, 0)
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterLiteralExpression" ): listener.enterLiteralExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitLiteralExpression" ): listener.exitLiteralExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitLiteralExpression" ): return visitor.visitLiteralExpression(self) else: return visitor.visitChildren(self)
[docs] def expression(self, _p:int=0): _parentctx = self._ctx _parentState = self.state localctx = BraketPragmasParser.ExpressionContext(self, self._ctx, _parentState) _prevctx = localctx _startState = 124 self.enterRecursionRule(localctx, 124, self.RULE_expression, _p) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 682 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,60,self._ctx) if la_ == 1: localctx = BraketPragmasParser.ParenthesisExpressionContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 656 self.match(BraketPragmasParser.LPAREN) self.state = 657 self.expression(0) self.state = 658 self.match(BraketPragmasParser.RPAREN) pass elif la_ == 2: localctx = BraketPragmasParser.UnaryExpressionContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 660 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not(((((_la - 94)) & ~0x3f) == 0 and ((1 << (_la - 94)) & ((1 << (BraketPragmasParser.MINUS - 94)) | (1 << (BraketPragmasParser.TILDE - 94)) | (1 << (BraketPragmasParser.EXCLAMATION_POINT - 94)))) != 0)): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 661 self.expression(15) pass elif la_ == 3: localctx = BraketPragmasParser.CastExpressionContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 664 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH]: self.state = 662 self.scalarType() pass elif token in [BraketPragmasParser.ARRAY]: self.state = 663 self.arrayType() pass else: raise NoViableAltException(self) self.state = 666 self.match(BraketPragmasParser.LPAREN) self.state = 667 self.expression(0) self.state = 668 self.match(BraketPragmasParser.RPAREN) pass elif la_ == 4: localctx = BraketPragmasParser.DurationofExpressionContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 670 self.match(BraketPragmasParser.DURATIONOF) self.state = 671 self.match(BraketPragmasParser.LPAREN) self.state = 672 self.scope() self.state = 673 self.match(BraketPragmasParser.RPAREN) pass elif la_ == 5: localctx = BraketPragmasParser.CallExpressionContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 675 self.match(BraketPragmasParser.Identifier) self.state = 676 self.match(BraketPragmasParser.LPAREN) self.state = 678 self._errHandler.sync(self) _la = self._input.LA(1) if ((((_la - 58)) & ~0x3f) == 0 and ((1 << (_la - 58)) & ((1 << (BraketPragmasParser.BOOL - 58)) | (1 << (BraketPragmasParser.BIT - 58)) | (1 << (BraketPragmasParser.INT - 58)) | (1 << (BraketPragmasParser.UINT - 58)) | (1 << (BraketPragmasParser.FLOAT - 58)) | (1 << (BraketPragmasParser.ANGLE - 58)) | (1 << (BraketPragmasParser.COMPLEX - 58)) | (1 << (BraketPragmasParser.ARRAY - 58)) | (1 << (BraketPragmasParser.DURATION - 58)) | (1 << (BraketPragmasParser.STRETCH - 58)) | (1 << (BraketPragmasParser.DURATIONOF - 58)) | (1 << (BraketPragmasParser.BooleanLiteral - 58)) | (1 << (BraketPragmasParser.LPAREN - 58)) | (1 << (BraketPragmasParser.MINUS - 58)) | (1 << (BraketPragmasParser.TILDE - 58)) | (1 << (BraketPragmasParser.EXCLAMATION_POINT - 58)) | (1 << (BraketPragmasParser.ImaginaryLiteral - 58)) | (1 << (BraketPragmasParser.BinaryIntegerLiteral - 58)) | (1 << (BraketPragmasParser.OctalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.DecimalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.HexIntegerLiteral - 58)) | (1 << (BraketPragmasParser.Identifier - 58)) | (1 << (BraketPragmasParser.HardwareQubit - 58)) | (1 << (BraketPragmasParser.FloatLiteral - 58)) | (1 << (BraketPragmasParser.TimingLiteral - 58)) | (1 << (BraketPragmasParser.BitstringLiteral - 58)))) != 0): self.state = 677 self.expressionList() self.state = 680 self.match(BraketPragmasParser.RPAREN) pass elif la_ == 6: localctx = BraketPragmasParser.LiteralExpressionContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 681 _la = self._input.LA(1) if not(((((_la - 79)) & ~0x3f) == 0 and ((1 << (_la - 79)) & ((1 << (BraketPragmasParser.BooleanLiteral - 79)) | (1 << (BraketPragmasParser.ImaginaryLiteral - 79)) | (1 << (BraketPragmasParser.BinaryIntegerLiteral - 79)) | (1 << (BraketPragmasParser.OctalIntegerLiteral - 79)) | (1 << (BraketPragmasParser.DecimalIntegerLiteral - 79)) | (1 << (BraketPragmasParser.HexIntegerLiteral - 79)) | (1 << (BraketPragmasParser.Identifier - 79)) | (1 << (BraketPragmasParser.HardwareQubit - 79)) | (1 << (BraketPragmasParser.FloatLiteral - 79)) | (1 << (BraketPragmasParser.TimingLiteral - 79)) | (1 << (BraketPragmasParser.BitstringLiteral - 79)))) != 0)): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() pass self._ctx.stop = self._input.LT(-1) self.state = 721 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,62,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: if self._parseListeners is not None: self.triggerExitRuleEvent() _prevctx = localctx self.state = 719 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,61,self._ctx) if la_ == 1: localctx = BraketPragmasParser.PowerExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 684 if not self.precpred(self._ctx, 16): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 16)") self.state = 685 localctx.op = self.match(BraketPragmasParser.DOUBLE_ASTERISK) self.state = 686 self.expression(16) pass elif la_ == 2: localctx = BraketPragmasParser.MultiplicativeExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 687 if not self.precpred(self._ctx, 14): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 14)") self.state = 688 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not(((((_la - 95)) & ~0x3f) == 0 and ((1 << (_la - 95)) & ((1 << (BraketPragmasParser.ASTERISK - 95)) | (1 << (BraketPragmasParser.SLASH - 95)) | (1 << (BraketPragmasParser.PERCENT - 95)))) != 0)): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 689 self.expression(15) pass elif la_ == 3: localctx = BraketPragmasParser.AdditiveExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 690 if not self.precpred(self._ctx, 13): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 13)") self.state = 691 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not(_la==BraketPragmasParser.PLUS or _la==BraketPragmasParser.MINUS): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 692 self.expression(14) pass elif la_ == 4: localctx = BraketPragmasParser.BitshiftExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 693 if not self.precpred(self._ctx, 12): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 12)") self.state = 694 localctx.op = self.match(BraketPragmasParser.BitshiftOperator) self.state = 695 self.expression(13) pass elif la_ == 5: localctx = BraketPragmasParser.ComparisonExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 696 if not self.precpred(self._ctx, 11): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 11)") self.state = 697 localctx.op = self.match(BraketPragmasParser.ComparisonOperator) self.state = 698 self.expression(12) pass elif la_ == 6: localctx = BraketPragmasParser.EqualityExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 699 if not self.precpred(self._ctx, 10): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 10)") self.state = 700 localctx.op = self.match(BraketPragmasParser.EqualityOperator) self.state = 701 self.expression(11) pass elif la_ == 7: localctx = BraketPragmasParser.BitwiseAndExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 702 if not self.precpred(self._ctx, 9): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 9)") self.state = 703 localctx.op = self.match(BraketPragmasParser.AMPERSAND) self.state = 704 self.expression(10) pass elif la_ == 8: localctx = BraketPragmasParser.BitwiseXorExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 705 if not self.precpred(self._ctx, 8): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 8)") self.state = 706 localctx.op = self.match(BraketPragmasParser.CARET) self.state = 707 self.expression(9) pass elif la_ == 9: localctx = BraketPragmasParser.BitwiseOrExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 708 if not self.precpred(self._ctx, 7): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 7)") self.state = 709 localctx.op = self.match(BraketPragmasParser.PIPE) self.state = 710 self.expression(8) pass elif la_ == 10: localctx = BraketPragmasParser.LogicalAndExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 711 if not self.precpred(self._ctx, 6): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 6)") self.state = 712 localctx.op = self.match(BraketPragmasParser.DOUBLE_AMPERSAND) self.state = 713 self.expression(7) pass elif la_ == 11: localctx = BraketPragmasParser.LogicalOrExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 714 if not self.precpred(self._ctx, 5): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 5)") self.state = 715 localctx.op = self.match(BraketPragmasParser.DOUBLE_PIPE) self.state = 716 self.expression(6) pass elif la_ == 12: localctx = BraketPragmasParser.IndexExpressionContext(self, BraketPragmasParser.ExpressionContext(self, _parentctx, _parentState)) self.pushNewRecursionContext(localctx, _startState, self.RULE_expression) self.state = 717 if not self.precpred(self._ctx, 17): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException(self, "self.precpred(self._ctx, 17)") self.state = 718 self.indexOperator() pass self.state = 723 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,62,self._ctx) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.unrollRecursionContexts(_parentctx) return localctx
[docs] class AliasExpressionContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def DOUBLE_PLUS(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.DOUBLE_PLUS) else: return self.getToken(BraketPragmasParser.DOUBLE_PLUS, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_aliasExpression
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterAliasExpression" ): listener.enterAliasExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitAliasExpression" ): listener.exitAliasExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitAliasExpression" ): return visitor.visitAliasExpression(self) else: return visitor.visitChildren(self)
[docs] def aliasExpression(self): localctx = BraketPragmasParser.AliasExpressionContext(self, self._ctx, self.state) self.enterRule(localctx, 126, self.RULE_aliasExpression) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 724 self.expression(0) self.state = 729 self._errHandler.sync(self) _la = self._input.LA(1) while _la==BraketPragmasParser.DOUBLE_PLUS: self.state = 725 self.match(BraketPragmasParser.DOUBLE_PLUS) self.state = 726 self.expression(0) self.state = 731 self._errHandler.sync(self) _la = self._input.LA(1) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class DeclarationExpressionContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def arrayLiteral(self): return self.getTypedRuleContext(BraketPragmasParser.ArrayLiteralContext,0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def measureExpression(self): return self.getTypedRuleContext(BraketPragmasParser.MeasureExpressionContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_declarationExpression
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterDeclarationExpression" ): listener.enterDeclarationExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitDeclarationExpression" ): listener.exitDeclarationExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitDeclarationExpression" ): return visitor.visitDeclarationExpression(self) else: return visitor.visitChildren(self)
[docs] def declarationExpression(self): localctx = BraketPragmasParser.DeclarationExpressionContext(self, self._ctx, self.state) self.enterRule(localctx, 128, self.RULE_declarationExpression) try: self.state = 735 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.LBRACE]: self.enterOuterAlt(localctx, 1) self.state = 732 self.arrayLiteral() pass elif token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.ARRAY, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH, BraketPragmasParser.DURATIONOF, BraketPragmasParser.BooleanLiteral, BraketPragmasParser.LPAREN, BraketPragmasParser.MINUS, BraketPragmasParser.TILDE, BraketPragmasParser.EXCLAMATION_POINT, BraketPragmasParser.ImaginaryLiteral, BraketPragmasParser.BinaryIntegerLiteral, BraketPragmasParser.OctalIntegerLiteral, BraketPragmasParser.DecimalIntegerLiteral, BraketPragmasParser.HexIntegerLiteral, BraketPragmasParser.Identifier, BraketPragmasParser.HardwareQubit, BraketPragmasParser.FloatLiteral, BraketPragmasParser.TimingLiteral, BraketPragmasParser.BitstringLiteral]: self.enterOuterAlt(localctx, 2) self.state = 733 self.expression(0) pass elif token in [BraketPragmasParser.MEASURE]: self.enterOuterAlt(localctx, 3) self.state = 734 self.measureExpression() pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class MeasureExpressionContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def MEASURE(self): return self.getToken(BraketPragmasParser.MEASURE, 0)
[docs] def gateOperand(self): return self.getTypedRuleContext(BraketPragmasParser.GateOperandContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_measureExpression
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMeasureExpression" ): listener.enterMeasureExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMeasureExpression" ): listener.exitMeasureExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitMeasureExpression" ): return visitor.visitMeasureExpression(self) else: return visitor.visitChildren(self)
[docs] def measureExpression(self): localctx = BraketPragmasParser.MeasureExpressionContext(self, self._ctx, self.state) self.enterRule(localctx, 130, self.RULE_measureExpression) try: self.enterOuterAlt(localctx, 1) self.state = 737 self.match(BraketPragmasParser.MEASURE) self.state = 738 self.gateOperand() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class RangeExpressionContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def COLON(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COLON) else: return self.getToken(BraketPragmasParser.COLON, i)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_rangeExpression
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterRangeExpression" ): listener.enterRangeExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitRangeExpression" ): listener.exitRangeExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitRangeExpression" ): return visitor.visitRangeExpression(self) else: return visitor.visitChildren(self)
[docs] def rangeExpression(self): localctx = BraketPragmasParser.RangeExpressionContext(self, self._ctx, self.state) self.enterRule(localctx, 132, self.RULE_rangeExpression) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 741 self._errHandler.sync(self) _la = self._input.LA(1) if ((((_la - 58)) & ~0x3f) == 0 and ((1 << (_la - 58)) & ((1 << (BraketPragmasParser.BOOL - 58)) | (1 << (BraketPragmasParser.BIT - 58)) | (1 << (BraketPragmasParser.INT - 58)) | (1 << (BraketPragmasParser.UINT - 58)) | (1 << (BraketPragmasParser.FLOAT - 58)) | (1 << (BraketPragmasParser.ANGLE - 58)) | (1 << (BraketPragmasParser.COMPLEX - 58)) | (1 << (BraketPragmasParser.ARRAY - 58)) | (1 << (BraketPragmasParser.DURATION - 58)) | (1 << (BraketPragmasParser.STRETCH - 58)) | (1 << (BraketPragmasParser.DURATIONOF - 58)) | (1 << (BraketPragmasParser.BooleanLiteral - 58)) | (1 << (BraketPragmasParser.LPAREN - 58)) | (1 << (BraketPragmasParser.MINUS - 58)) | (1 << (BraketPragmasParser.TILDE - 58)) | (1 << (BraketPragmasParser.EXCLAMATION_POINT - 58)) | (1 << (BraketPragmasParser.ImaginaryLiteral - 58)) | (1 << (BraketPragmasParser.BinaryIntegerLiteral - 58)) | (1 << (BraketPragmasParser.OctalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.DecimalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.HexIntegerLiteral - 58)) | (1 << (BraketPragmasParser.Identifier - 58)) | (1 << (BraketPragmasParser.HardwareQubit - 58)) | (1 << (BraketPragmasParser.FloatLiteral - 58)) | (1 << (BraketPragmasParser.TimingLiteral - 58)) | (1 << (BraketPragmasParser.BitstringLiteral - 58)))) != 0): self.state = 740 self.expression(0) self.state = 743 self.match(BraketPragmasParser.COLON) self.state = 745 self._errHandler.sync(self) _la = self._input.LA(1) if ((((_la - 58)) & ~0x3f) == 0 and ((1 << (_la - 58)) & ((1 << (BraketPragmasParser.BOOL - 58)) | (1 << (BraketPragmasParser.BIT - 58)) | (1 << (BraketPragmasParser.INT - 58)) | (1 << (BraketPragmasParser.UINT - 58)) | (1 << (BraketPragmasParser.FLOAT - 58)) | (1 << (BraketPragmasParser.ANGLE - 58)) | (1 << (BraketPragmasParser.COMPLEX - 58)) | (1 << (BraketPragmasParser.ARRAY - 58)) | (1 << (BraketPragmasParser.DURATION - 58)) | (1 << (BraketPragmasParser.STRETCH - 58)) | (1 << (BraketPragmasParser.DURATIONOF - 58)) | (1 << (BraketPragmasParser.BooleanLiteral - 58)) | (1 << (BraketPragmasParser.LPAREN - 58)) | (1 << (BraketPragmasParser.MINUS - 58)) | (1 << (BraketPragmasParser.TILDE - 58)) | (1 << (BraketPragmasParser.EXCLAMATION_POINT - 58)) | (1 << (BraketPragmasParser.ImaginaryLiteral - 58)) | (1 << (BraketPragmasParser.BinaryIntegerLiteral - 58)) | (1 << (BraketPragmasParser.OctalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.DecimalIntegerLiteral - 58)) | (1 << (BraketPragmasParser.HexIntegerLiteral - 58)) | (1 << (BraketPragmasParser.Identifier - 58)) | (1 << (BraketPragmasParser.HardwareQubit - 58)) | (1 << (BraketPragmasParser.FloatLiteral - 58)) | (1 << (BraketPragmasParser.TimingLiteral - 58)) | (1 << (BraketPragmasParser.BitstringLiteral - 58)))) != 0): self.state = 744 self.expression(0) self.state = 749 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COLON: self.state = 747 self.match(BraketPragmasParser.COLON) self.state = 748 self.expression(0) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class SetExpressionContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def LBRACE(self): return self.getToken(BraketPragmasParser.LBRACE, 0)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def RBRACE(self): return self.getToken(BraketPragmasParser.RBRACE, 0)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_setExpression
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterSetExpression" ): listener.enterSetExpression(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitSetExpression" ): listener.exitSetExpression(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitSetExpression" ): return visitor.visitSetExpression(self) else: return visitor.visitChildren(self)
[docs] def setExpression(self): localctx = BraketPragmasParser.SetExpressionContext(self, self._ctx, self.state) self.enterRule(localctx, 134, self.RULE_setExpression) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 751 self.match(BraketPragmasParser.LBRACE) self.state = 752 self.expression(0) self.state = 757 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,68,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 753 self.match(BraketPragmasParser.COMMA) self.state = 754 self.expression(0) self.state = 759 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,68,self._ctx) self.state = 761 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COMMA: self.state = 760 self.match(BraketPragmasParser.COMMA) self.state = 763 self.match(BraketPragmasParser.RBRACE) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ArrayLiteralContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def LBRACE(self): return self.getToken(BraketPragmasParser.LBRACE, 0)
[docs] def RBRACE(self): return self.getToken(BraketPragmasParser.RBRACE, 0)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def arrayLiteral(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ArrayLiteralContext) else: return self.getTypedRuleContext(BraketPragmasParser.ArrayLiteralContext,i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_arrayLiteral
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterArrayLiteral" ): listener.enterArrayLiteral(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitArrayLiteral" ): listener.exitArrayLiteral(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitArrayLiteral" ): return visitor.visitArrayLiteral(self) else: return visitor.visitChildren(self)
[docs] def arrayLiteral(self): localctx = BraketPragmasParser.ArrayLiteralContext(self, self._ctx, self.state) self.enterRule(localctx, 136, self.RULE_arrayLiteral) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 765 self.match(BraketPragmasParser.LBRACE) self.state = 768 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.ARRAY, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH, BraketPragmasParser.DURATIONOF, BraketPragmasParser.BooleanLiteral, BraketPragmasParser.LPAREN, BraketPragmasParser.MINUS, BraketPragmasParser.TILDE, BraketPragmasParser.EXCLAMATION_POINT, BraketPragmasParser.ImaginaryLiteral, BraketPragmasParser.BinaryIntegerLiteral, BraketPragmasParser.OctalIntegerLiteral, BraketPragmasParser.DecimalIntegerLiteral, BraketPragmasParser.HexIntegerLiteral, BraketPragmasParser.Identifier, BraketPragmasParser.HardwareQubit, BraketPragmasParser.FloatLiteral, BraketPragmasParser.TimingLiteral, BraketPragmasParser.BitstringLiteral]: self.state = 766 self.expression(0) pass elif token in [BraketPragmasParser.LBRACE]: self.state = 767 self.arrayLiteral() pass else: raise NoViableAltException(self) self.state = 777 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,72,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 770 self.match(BraketPragmasParser.COMMA) self.state = 773 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.ARRAY, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH, BraketPragmasParser.DURATIONOF, BraketPragmasParser.BooleanLiteral, BraketPragmasParser.LPAREN, BraketPragmasParser.MINUS, BraketPragmasParser.TILDE, BraketPragmasParser.EXCLAMATION_POINT, BraketPragmasParser.ImaginaryLiteral, BraketPragmasParser.BinaryIntegerLiteral, BraketPragmasParser.OctalIntegerLiteral, BraketPragmasParser.DecimalIntegerLiteral, BraketPragmasParser.HexIntegerLiteral, BraketPragmasParser.Identifier, BraketPragmasParser.HardwareQubit, BraketPragmasParser.FloatLiteral, BraketPragmasParser.TimingLiteral, BraketPragmasParser.BitstringLiteral]: self.state = 771 self.expression(0) pass elif token in [BraketPragmasParser.LBRACE]: self.state = 772 self.arrayLiteral() pass else: raise NoViableAltException(self) self.state = 779 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,72,self._ctx) self.state = 781 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COMMA: self.state = 780 self.match(BraketPragmasParser.COMMA) self.state = 783 self.match(BraketPragmasParser.RBRACE) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class IndexOperatorContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def LBRACKET(self): return self.getToken(BraketPragmasParser.LBRACKET, 0)
[docs] def RBRACKET(self): return self.getToken(BraketPragmasParser.RBRACKET, 0)
[docs] def setExpression(self): return self.getTypedRuleContext(BraketPragmasParser.SetExpressionContext,0)
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def rangeExpression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.RangeExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.RangeExpressionContext,i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_indexOperator
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterIndexOperator" ): listener.enterIndexOperator(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitIndexOperator" ): listener.exitIndexOperator(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitIndexOperator" ): return visitor.visitIndexOperator(self) else: return visitor.visitChildren(self)
[docs] def indexOperator(self): localctx = BraketPragmasParser.IndexOperatorContext(self, self._ctx, self.state) self.enterRule(localctx, 138, self.RULE_indexOperator) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 785 self.match(BraketPragmasParser.LBRACKET) self.state = 804 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.LBRACE]: self.state = 786 self.setExpression() pass elif token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.ARRAY, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH, BraketPragmasParser.DURATIONOF, BraketPragmasParser.BooleanLiteral, BraketPragmasParser.LPAREN, BraketPragmasParser.COLON, BraketPragmasParser.MINUS, BraketPragmasParser.TILDE, BraketPragmasParser.EXCLAMATION_POINT, BraketPragmasParser.ImaginaryLiteral, BraketPragmasParser.BinaryIntegerLiteral, BraketPragmasParser.OctalIntegerLiteral, BraketPragmasParser.DecimalIntegerLiteral, BraketPragmasParser.HexIntegerLiteral, BraketPragmasParser.Identifier, BraketPragmasParser.HardwareQubit, BraketPragmasParser.FloatLiteral, BraketPragmasParser.TimingLiteral, BraketPragmasParser.BitstringLiteral]: self.state = 789 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,74,self._ctx) if la_ == 1: self.state = 787 self.expression(0) pass elif la_ == 2: self.state = 788 self.rangeExpression() pass self.state = 798 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,76,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 791 self.match(BraketPragmasParser.COMMA) self.state = 794 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,75,self._ctx) if la_ == 1: self.state = 792 self.expression(0) pass elif la_ == 2: self.state = 793 self.rangeExpression() pass self.state = 800 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,76,self._ctx) self.state = 802 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COMMA: self.state = 801 self.match(BraketPragmasParser.COMMA) pass else: raise NoViableAltException(self) self.state = 806 self.match(BraketPragmasParser.RBRACKET) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class IndexedIdentifierContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def indexOperator(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.IndexOperatorContext) else: return self.getTypedRuleContext(BraketPragmasParser.IndexOperatorContext,i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_indexedIdentifier
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterIndexedIdentifier" ): listener.enterIndexedIdentifier(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitIndexedIdentifier" ): listener.exitIndexedIdentifier(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitIndexedIdentifier" ): return visitor.visitIndexedIdentifier(self) else: return visitor.visitChildren(self)
[docs] def indexedIdentifier(self): localctx = BraketPragmasParser.IndexedIdentifierContext(self, self._ctx, self.state) self.enterRule(localctx, 140, self.RULE_indexedIdentifier) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 808 self.match(BraketPragmasParser.Identifier) self.state = 812 self._errHandler.sync(self) _la = self._input.LA(1) while _la==BraketPragmasParser.LBRACKET: self.state = 809 self.indexOperator() self.state = 814 self._errHandler.sync(self) _la = self._input.LA(1) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ReturnSignatureContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def ARROW(self): return self.getToken(BraketPragmasParser.ARROW, 0)
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_returnSignature
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterReturnSignature" ): listener.enterReturnSignature(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitReturnSignature" ): listener.exitReturnSignature(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitReturnSignature" ): return visitor.visitReturnSignature(self) else: return visitor.visitChildren(self)
[docs] def returnSignature(self): localctx = BraketPragmasParser.ReturnSignatureContext(self, self._ctx, self.state) self.enterRule(localctx, 142, self.RULE_returnSignature) try: self.enterOuterAlt(localctx, 1) self.state = 815 self.match(BraketPragmasParser.ARROW) self.state = 816 self.scalarType() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class GateModifierContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def AT(self): return self.getToken(BraketPragmasParser.AT, 0)
[docs] def INV(self): return self.getToken(BraketPragmasParser.INV, 0)
[docs] def POW(self): return self.getToken(BraketPragmasParser.POW, 0)
[docs] def LPAREN(self): return self.getToken(BraketPragmasParser.LPAREN, 0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def RPAREN(self): return self.getToken(BraketPragmasParser.RPAREN, 0)
[docs] def CTRL(self): return self.getToken(BraketPragmasParser.CTRL, 0)
[docs] def NEGCTRL(self): return self.getToken(BraketPragmasParser.NEGCTRL, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_gateModifier
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterGateModifier" ): listener.enterGateModifier(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitGateModifier" ): listener.exitGateModifier(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitGateModifier" ): return visitor.visitGateModifier(self) else: return visitor.visitChildren(self)
[docs] def gateModifier(self): localctx = BraketPragmasParser.GateModifierContext(self, self._ctx, self.state) self.enterRule(localctx, 144, self.RULE_gateModifier) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 831 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.INV]: self.state = 818 self.match(BraketPragmasParser.INV) pass elif token in [BraketPragmasParser.POW]: self.state = 819 self.match(BraketPragmasParser.POW) self.state = 820 self.match(BraketPragmasParser.LPAREN) self.state = 821 self.expression(0) self.state = 822 self.match(BraketPragmasParser.RPAREN) pass elif token in [BraketPragmasParser.CTRL, BraketPragmasParser.NEGCTRL]: self.state = 824 _la = self._input.LA(1) if not(_la==BraketPragmasParser.CTRL or _la==BraketPragmasParser.NEGCTRL): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 829 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LPAREN: self.state = 825 self.match(BraketPragmasParser.LPAREN) self.state = 826 self.expression(0) self.state = 827 self.match(BraketPragmasParser.RPAREN) pass else: raise NoViableAltException(self) self.state = 833 self.match(BraketPragmasParser.AT) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ScalarTypeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def BIT(self): return self.getToken(BraketPragmasParser.BIT, 0)
[docs] def designator(self): return self.getTypedRuleContext(BraketPragmasParser.DesignatorContext,0)
[docs] def INT(self): return self.getToken(BraketPragmasParser.INT, 0)
[docs] def UINT(self): return self.getToken(BraketPragmasParser.UINT, 0)
[docs] def FLOAT(self): return self.getToken(BraketPragmasParser.FLOAT, 0)
[docs] def ANGLE(self): return self.getToken(BraketPragmasParser.ANGLE, 0)
[docs] def BOOL(self): return self.getToken(BraketPragmasParser.BOOL, 0)
[docs] def DURATION(self): return self.getToken(BraketPragmasParser.DURATION, 0)
[docs] def STRETCH(self): return self.getToken(BraketPragmasParser.STRETCH, 0)
[docs] def COMPLEX(self): return self.getToken(BraketPragmasParser.COMPLEX, 0)
[docs] def LBRACKET(self): return self.getToken(BraketPragmasParser.LBRACKET, 0)
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def RBRACKET(self): return self.getToken(BraketPragmasParser.RBRACKET, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_scalarType
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterScalarType" ): listener.enterScalarType(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitScalarType" ): listener.exitScalarType(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitScalarType" ): return visitor.visitScalarType(self) else: return visitor.visitChildren(self)
[docs] def scalarType(self): localctx = BraketPragmasParser.ScalarTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 146, self.RULE_scalarType) self._la = 0 # Token type try: self.state = 865 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BIT]: self.enterOuterAlt(localctx, 1) self.state = 835 self.match(BraketPragmasParser.BIT) self.state = 837 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 836 self.designator() pass elif token in [BraketPragmasParser.INT]: self.enterOuterAlt(localctx, 2) self.state = 839 self.match(BraketPragmasParser.INT) self.state = 841 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 840 self.designator() pass elif token in [BraketPragmasParser.UINT]: self.enterOuterAlt(localctx, 3) self.state = 843 self.match(BraketPragmasParser.UINT) self.state = 845 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 844 self.designator() pass elif token in [BraketPragmasParser.FLOAT]: self.enterOuterAlt(localctx, 4) self.state = 847 self.match(BraketPragmasParser.FLOAT) self.state = 849 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 848 self.designator() pass elif token in [BraketPragmasParser.ANGLE]: self.enterOuterAlt(localctx, 5) self.state = 851 self.match(BraketPragmasParser.ANGLE) self.state = 853 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 852 self.designator() pass elif token in [BraketPragmasParser.BOOL]: self.enterOuterAlt(localctx, 6) self.state = 855 self.match(BraketPragmasParser.BOOL) pass elif token in [BraketPragmasParser.DURATION]: self.enterOuterAlt(localctx, 7) self.state = 856 self.match(BraketPragmasParser.DURATION) pass elif token in [BraketPragmasParser.STRETCH]: self.enterOuterAlt(localctx, 8) self.state = 857 self.match(BraketPragmasParser.STRETCH) pass elif token in [BraketPragmasParser.COMPLEX]: self.enterOuterAlt(localctx, 9) self.state = 858 self.match(BraketPragmasParser.COMPLEX) self.state = 863 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 859 self.match(BraketPragmasParser.LBRACKET) self.state = 860 self.scalarType() self.state = 861 self.match(BraketPragmasParser.RBRACKET) pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class QubitTypeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def QUBIT(self): return self.getToken(BraketPragmasParser.QUBIT, 0)
[docs] def designator(self): return self.getTypedRuleContext(BraketPragmasParser.DesignatorContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_qubitType
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterQubitType" ): listener.enterQubitType(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitQubitType" ): listener.exitQubitType(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitQubitType" ): return visitor.visitQubitType(self) else: return visitor.visitChildren(self)
[docs] def qubitType(self): localctx = BraketPragmasParser.QubitTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 148, self.RULE_qubitType) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 867 self.match(BraketPragmasParser.QUBIT) self.state = 869 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 868 self.designator() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ArrayTypeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def ARRAY(self): return self.getToken(BraketPragmasParser.ARRAY, 0)
[docs] def LBRACKET(self): return self.getToken(BraketPragmasParser.LBRACKET, 0)
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def COMMA(self): return self.getToken(BraketPragmasParser.COMMA, 0)
[docs] def expressionList(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionListContext,0)
[docs] def RBRACKET(self): return self.getToken(BraketPragmasParser.RBRACKET, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_arrayType
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterArrayType" ): listener.enterArrayType(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitArrayType" ): listener.exitArrayType(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitArrayType" ): return visitor.visitArrayType(self) else: return visitor.visitChildren(self)
[docs] def arrayType(self): localctx = BraketPragmasParser.ArrayTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 150, self.RULE_arrayType) try: self.enterOuterAlt(localctx, 1) self.state = 871 self.match(BraketPragmasParser.ARRAY) self.state = 872 self.match(BraketPragmasParser.LBRACKET) self.state = 873 self.scalarType() self.state = 874 self.match(BraketPragmasParser.COMMA) self.state = 875 self.expressionList() self.state = 876 self.match(BraketPragmasParser.RBRACKET) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ArrayReferenceTypeContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def ARRAY(self): return self.getToken(BraketPragmasParser.ARRAY, 0)
[docs] def LBRACKET(self): return self.getToken(BraketPragmasParser.LBRACKET, 0)
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def COMMA(self): return self.getToken(BraketPragmasParser.COMMA, 0)
[docs] def RBRACKET(self): return self.getToken(BraketPragmasParser.RBRACKET, 0)
[docs] def CONST(self): return self.getToken(BraketPragmasParser.CONST, 0)
[docs] def MUTABLE(self): return self.getToken(BraketPragmasParser.MUTABLE, 0)
[docs] def expressionList(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionListContext,0)
[docs] def DIM(self): return self.getToken(BraketPragmasParser.DIM, 0)
[docs] def EQUALS(self): return self.getToken(BraketPragmasParser.EQUALS, 0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_arrayReferenceType
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterArrayReferenceType" ): listener.enterArrayReferenceType(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitArrayReferenceType" ): listener.exitArrayReferenceType(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitArrayReferenceType" ): return visitor.visitArrayReferenceType(self) else: return visitor.visitChildren(self)
[docs] def arrayReferenceType(self): localctx = BraketPragmasParser.ArrayReferenceTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 152, self.RULE_arrayReferenceType) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 878 _la = self._input.LA(1) if not(_la==BraketPragmasParser.CONST or _la==BraketPragmasParser.MUTABLE): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 879 self.match(BraketPragmasParser.ARRAY) self.state = 880 self.match(BraketPragmasParser.LBRACKET) self.state = 881 self.scalarType() self.state = 882 self.match(BraketPragmasParser.COMMA) self.state = 887 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.ARRAY, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH, BraketPragmasParser.DURATIONOF, BraketPragmasParser.BooleanLiteral, BraketPragmasParser.LPAREN, BraketPragmasParser.MINUS, BraketPragmasParser.TILDE, BraketPragmasParser.EXCLAMATION_POINT, BraketPragmasParser.ImaginaryLiteral, BraketPragmasParser.BinaryIntegerLiteral, BraketPragmasParser.OctalIntegerLiteral, BraketPragmasParser.DecimalIntegerLiteral, BraketPragmasParser.HexIntegerLiteral, BraketPragmasParser.Identifier, BraketPragmasParser.HardwareQubit, BraketPragmasParser.FloatLiteral, BraketPragmasParser.TimingLiteral, BraketPragmasParser.BitstringLiteral]: self.state = 883 self.expressionList() pass elif token in [BraketPragmasParser.DIM]: self.state = 884 self.match(BraketPragmasParser.DIM) self.state = 885 self.match(BraketPragmasParser.EQUALS) self.state = 886 self.expression(0) pass else: raise NoViableAltException(self) self.state = 889 self.match(BraketPragmasParser.RBRACKET) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class DesignatorContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def LBRACKET(self): return self.getToken(BraketPragmasParser.LBRACKET, 0)
[docs] def expression(self): return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,0)
[docs] def RBRACKET(self): return self.getToken(BraketPragmasParser.RBRACKET, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_designator
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterDesignator" ): listener.enterDesignator(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitDesignator" ): listener.exitDesignator(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitDesignator" ): return visitor.visitDesignator(self) else: return visitor.visitChildren(self)
[docs] def designator(self): localctx = BraketPragmasParser.DesignatorContext(self, self._ctx, self.state) self.enterRule(localctx, 154, self.RULE_designator) try: self.enterOuterAlt(localctx, 1) self.state = 891 self.match(BraketPragmasParser.LBRACKET) self.state = 892 self.expression(0) self.state = 893 self.match(BraketPragmasParser.RBRACKET) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class GateOperandContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def indexedIdentifier(self): return self.getTypedRuleContext(BraketPragmasParser.IndexedIdentifierContext,0)
[docs] def HardwareQubit(self): return self.getToken(BraketPragmasParser.HardwareQubit, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_gateOperand
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterGateOperand" ): listener.enterGateOperand(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitGateOperand" ): listener.exitGateOperand(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitGateOperand" ): return visitor.visitGateOperand(self) else: return visitor.visitChildren(self)
[docs] def gateOperand(self): localctx = BraketPragmasParser.GateOperandContext(self, self._ctx, self.state) self.enterRule(localctx, 156, self.RULE_gateOperand) try: self.state = 897 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.Identifier]: self.enterOuterAlt(localctx, 1) self.state = 895 self.indexedIdentifier() pass elif token in [BraketPragmasParser.HardwareQubit]: self.enterOuterAlt(localctx, 2) self.state = 896 self.match(BraketPragmasParser.HardwareQubit) pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ExternArgumentContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def arrayReferenceType(self): return self.getTypedRuleContext(BraketPragmasParser.ArrayReferenceTypeContext,0)
[docs] def CREG(self): return self.getToken(BraketPragmasParser.CREG, 0)
[docs] def designator(self): return self.getTypedRuleContext(BraketPragmasParser.DesignatorContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_externArgument
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterExternArgument" ): listener.enterExternArgument(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitExternArgument" ): listener.exitExternArgument(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitExternArgument" ): return visitor.visitExternArgument(self) else: return visitor.visitChildren(self)
[docs] def externArgument(self): localctx = BraketPragmasParser.ExternArgumentContext(self, self._ctx, self.state) self.enterRule(localctx, 158, self.RULE_externArgument) self._la = 0 # Token type try: self.state = 905 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH]: self.enterOuterAlt(localctx, 1) self.state = 899 self.scalarType() pass elif token in [BraketPragmasParser.CONST, BraketPragmasParser.MUTABLE]: self.enterOuterAlt(localctx, 2) self.state = 900 self.arrayReferenceType() pass elif token in [BraketPragmasParser.CREG]: self.enterOuterAlt(localctx, 3) self.state = 901 self.match(BraketPragmasParser.CREG) self.state = 903 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 902 self.designator() pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class DefcalArgumentContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def HardwareQubit(self): return self.getToken(BraketPragmasParser.HardwareQubit, 0)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_defcalArgument
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterDefcalArgument" ): listener.enterDefcalArgument(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitDefcalArgument" ): listener.exitDefcalArgument(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitDefcalArgument" ): return visitor.visitDefcalArgument(self) else: return visitor.visitChildren(self)
[docs] def defcalArgument(self): localctx = BraketPragmasParser.DefcalArgumentContext(self, self._ctx, self.state) self.enterRule(localctx, 160, self.RULE_defcalArgument) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 907 _la = self._input.LA(1) if not(_la==BraketPragmasParser.Identifier or _la==BraketPragmasParser.HardwareQubit): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ArgumentDefinitionContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def scalarType(self): return self.getTypedRuleContext(BraketPragmasParser.ScalarTypeContext,0)
[docs] def Identifier(self): return self.getToken(BraketPragmasParser.Identifier, 0)
[docs] def qubitType(self): return self.getTypedRuleContext(BraketPragmasParser.QubitTypeContext,0)
[docs] def CREG(self): return self.getToken(BraketPragmasParser.CREG, 0)
[docs] def QREG(self): return self.getToken(BraketPragmasParser.QREG, 0)
[docs] def designator(self): return self.getTypedRuleContext(BraketPragmasParser.DesignatorContext,0)
[docs] def arrayReferenceType(self): return self.getTypedRuleContext(BraketPragmasParser.ArrayReferenceTypeContext,0)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_argumentDefinition
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterArgumentDefinition" ): listener.enterArgumentDefinition(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitArgumentDefinition" ): listener.exitArgumentDefinition(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitArgumentDefinition" ): return visitor.visitArgumentDefinition(self) else: return visitor.visitChildren(self)
[docs] def argumentDefinition(self): localctx = BraketPragmasParser.ArgumentDefinitionContext(self, self._ctx, self.state) self.enterRule(localctx, 162, self.RULE_argumentDefinition) self._la = 0 # Token type try: self.state = 923 self._errHandler.sync(self) token = self._input.LA(1) if token in [BraketPragmasParser.BOOL, BraketPragmasParser.BIT, BraketPragmasParser.INT, BraketPragmasParser.UINT, BraketPragmasParser.FLOAT, BraketPragmasParser.ANGLE, BraketPragmasParser.COMPLEX, BraketPragmasParser.DURATION, BraketPragmasParser.STRETCH]: self.enterOuterAlt(localctx, 1) self.state = 909 self.scalarType() self.state = 910 self.match(BraketPragmasParser.Identifier) pass elif token in [BraketPragmasParser.QUBIT]: self.enterOuterAlt(localctx, 2) self.state = 912 self.qubitType() self.state = 913 self.match(BraketPragmasParser.Identifier) pass elif token in [BraketPragmasParser.QREG, BraketPragmasParser.CREG]: self.enterOuterAlt(localctx, 3) self.state = 915 _la = self._input.LA(1) if not(_la==BraketPragmasParser.QREG or _la==BraketPragmasParser.CREG): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 916 self.match(BraketPragmasParser.Identifier) self.state = 918 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.LBRACKET: self.state = 917 self.designator() pass elif token in [BraketPragmasParser.CONST, BraketPragmasParser.MUTABLE]: self.enterOuterAlt(localctx, 4) self.state = 920 self.arrayReferenceType() self.state = 921 self.match(BraketPragmasParser.Identifier) pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ArgumentDefinitionListContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def argumentDefinition(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ArgumentDefinitionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ArgumentDefinitionContext,i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_argumentDefinitionList
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterArgumentDefinitionList" ): listener.enterArgumentDefinitionList(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitArgumentDefinitionList" ): listener.exitArgumentDefinitionList(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitArgumentDefinitionList" ): return visitor.visitArgumentDefinitionList(self) else: return visitor.visitChildren(self)
[docs] def argumentDefinitionList(self): localctx = BraketPragmasParser.ArgumentDefinitionListContext(self, self._ctx, self.state) self.enterRule(localctx, 164, self.RULE_argumentDefinitionList) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 925 self.argumentDefinition() self.state = 930 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,96,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 926 self.match(BraketPragmasParser.COMMA) self.state = 927 self.argumentDefinition() self.state = 932 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,96,self._ctx) self.state = 934 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COMMA: self.state = 933 self.match(BraketPragmasParser.COMMA) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ExpressionListContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def expression(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExpressionContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExpressionContext,i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_expressionList
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterExpressionList" ): listener.enterExpressionList(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitExpressionList" ): listener.exitExpressionList(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitExpressionList" ): return visitor.visitExpressionList(self) else: return visitor.visitChildren(self)
[docs] def expressionList(self): localctx = BraketPragmasParser.ExpressionListContext(self, self._ctx, self.state) self.enterRule(localctx, 166, self.RULE_expressionList) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 936 self.expression(0) self.state = 941 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,98,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 937 self.match(BraketPragmasParser.COMMA) self.state = 938 self.expression(0) self.state = 943 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,98,self._ctx) self.state = 945 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COMMA: self.state = 944 self.match(BraketPragmasParser.COMMA) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class DefcalArgumentListContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def defcalArgument(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.DefcalArgumentContext) else: return self.getTypedRuleContext(BraketPragmasParser.DefcalArgumentContext,i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_defcalArgumentList
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterDefcalArgumentList" ): listener.enterDefcalArgumentList(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitDefcalArgumentList" ): listener.exitDefcalArgumentList(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitDefcalArgumentList" ): return visitor.visitDefcalArgumentList(self) else: return visitor.visitChildren(self)
[docs] def defcalArgumentList(self): localctx = BraketPragmasParser.DefcalArgumentListContext(self, self._ctx, self.state) self.enterRule(localctx, 168, self.RULE_defcalArgumentList) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 947 self.defcalArgument() self.state = 952 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,100,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 948 self.match(BraketPragmasParser.COMMA) self.state = 949 self.defcalArgument() self.state = 954 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,100,self._ctx) self.state = 956 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COMMA: self.state = 955 self.match(BraketPragmasParser.COMMA) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class IdentifierListContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def Identifier(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.Identifier) else: return self.getToken(BraketPragmasParser.Identifier, i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_identifierList
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterIdentifierList" ): listener.enterIdentifierList(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitIdentifierList" ): listener.exitIdentifierList(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitIdentifierList" ): return visitor.visitIdentifierList(self) else: return visitor.visitChildren(self)
[docs] def identifierList(self): localctx = BraketPragmasParser.IdentifierListContext(self, self._ctx, self.state) self.enterRule(localctx, 170, self.RULE_identifierList) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 958 self.match(BraketPragmasParser.Identifier) self.state = 963 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,102,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 959 self.match(BraketPragmasParser.COMMA) self.state = 960 self.match(BraketPragmasParser.Identifier) self.state = 965 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,102,self._ctx) self.state = 967 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COMMA: self.state = 966 self.match(BraketPragmasParser.COMMA) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class GateOperandListContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def gateOperand(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.GateOperandContext) else: return self.getTypedRuleContext(BraketPragmasParser.GateOperandContext,i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_gateOperandList
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterGateOperandList" ): listener.enterGateOperandList(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitGateOperandList" ): listener.exitGateOperandList(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitGateOperandList" ): return visitor.visitGateOperandList(self) else: return visitor.visitChildren(self)
[docs] def gateOperandList(self): localctx = BraketPragmasParser.GateOperandListContext(self, self._ctx, self.state) self.enterRule(localctx, 172, self.RULE_gateOperandList) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 969 self.gateOperand() self.state = 974 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,104,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 970 self.match(BraketPragmasParser.COMMA) self.state = 971 self.gateOperand() self.state = 976 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,104,self._ctx) self.state = 978 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COMMA: self.state = 977 self.match(BraketPragmasParser.COMMA) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class ExternArgumentListContext(ParserRuleContext): __slots__ = 'parser' def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def externArgument(self, i:int=None): if i is None: return self.getTypedRuleContexts(BraketPragmasParser.ExternArgumentContext) else: return self.getTypedRuleContext(BraketPragmasParser.ExternArgumentContext,i)
[docs] def COMMA(self, i:int=None): if i is None: return self.getTokens(BraketPragmasParser.COMMA) else: return self.getToken(BraketPragmasParser.COMMA, i)
[docs] def getRuleIndex(self): return BraketPragmasParser.RULE_externArgumentList
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterExternArgumentList" ): listener.enterExternArgumentList(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitExternArgumentList" ): listener.exitExternArgumentList(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitExternArgumentList" ): return visitor.visitExternArgumentList(self) else: return visitor.visitChildren(self)
[docs] def externArgumentList(self): localctx = BraketPragmasParser.ExternArgumentListContext(self, self._ctx, self.state) self.enterRule(localctx, 174, self.RULE_externArgumentList) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 980 self.externArgument() self.state = 985 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,106,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 981 self.match(BraketPragmasParser.COMMA) self.state = 982 self.externArgument() self.state = 987 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,106,self._ctx) self.state = 989 self._errHandler.sync(self) _la = self._input.LA(1) if _la==BraketPragmasParser.COMMA: self.state = 988 self.match(BraketPragmasParser.COMMA) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] def sempred(self, localctx:RuleContext, ruleIndex:int, predIndex:int): if self._predicates == None: self._predicates = dict() self._predicates[62] = self.expression_sempred pred = self._predicates.get(ruleIndex, None) if pred is None: raise Exception("No predicate with index:" + str(ruleIndex)) else: return pred(localctx, predIndex)
[docs] def expression_sempred(self, localctx:ExpressionContext, predIndex:int): if predIndex == 0: return self.precpred(self._ctx, 16) if predIndex == 1: return self.precpred(self._ctx, 14) if predIndex == 2: return self.precpred(self._ctx, 13) if predIndex == 3: return self.precpred(self._ctx, 12) if predIndex == 4: return self.precpred(self._ctx, 11) if predIndex == 5: return self.precpred(self._ctx, 10) if predIndex == 6: return self.precpred(self._ctx, 9) if predIndex == 7: return self.precpred(self._ctx, 8) if predIndex == 8: return self.precpred(self._ctx, 7) if predIndex == 9: return self.precpred(self._ctx, 6) if predIndex == 10: return self.precpred(self._ctx, 5) if predIndex == 11: return self.precpred(self._ctx, 17)