react-openqasm-editor
Version:
A powerful, customizable code editor for OpenQASM (Open Quantum Assembly Language) based on Monaco Editor.
261 lines (240 loc) • 14.6 kB
text/typescript
// Generated from lib/antlr/openqasm.g4 by ANTLR 4.9.0-SNAPSHOT
// @ts-nocheck
import { ATN } from "antlr4ts/atn/ATN";
import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer";
import { CharStream } from "antlr4ts/CharStream";
import { Lexer } from "antlr4ts/Lexer";
import { LexerATNSimulator } from "antlr4ts/atn/LexerATNSimulator";
import { NotNull } from "antlr4ts/Decorators";
import { Override } from "antlr4ts/Decorators";
import { RuleContext } from "antlr4ts/RuleContext";
import { Vocabulary } from "antlr4ts/Vocabulary";
import { VocabularyImpl } from "antlr4ts/VocabularyImpl";
import * as Utils from "antlr4ts/misc/Utils";
export class openqasmLexer extends Lexer {
public static readonly T__0 = 1;
public static readonly T__1 = 2;
public static readonly T__2 = 3;
public static readonly T__3 = 4;
public static readonly T__4 = 5;
public static readonly T__5 = 6;
public static readonly T__6 = 7;
public static readonly T__7 = 8;
public static readonly T__8 = 9;
public static readonly T__9 = 10;
public static readonly T__10 = 11;
public static readonly T__11 = 12;
public static readonly T__12 = 13;
public static readonly T__13 = 14;
public static readonly T__14 = 15;
public static readonly T__15 = 16;
public static readonly T__16 = 17;
public static readonly T__17 = 18;
public static readonly T__18 = 19;
public static readonly T__19 = 20;
public static readonly T__20 = 21;
public static readonly T__21 = 22;
public static readonly T__22 = 23;
public static readonly T__23 = 24;
public static readonly T__24 = 25;
public static readonly T__25 = 26;
public static readonly T__26 = 27;
public static readonly T__27 = 28;
public static readonly T__28 = 29;
public static readonly T__29 = 30;
public static readonly T__30 = 31;
public static readonly T__31 = 32;
public static readonly T__32 = 33;
public static readonly T__33 = 34;
public static readonly STRING_LITERAL = 35;
public static readonly ID = 36;
public static readonly REAL = 37;
public static readonly INT = 38;
public static readonly WS = 39;
public static readonly COMMENT = 40;
public static readonly LINE_COMMENT = 41;
// tslint:disable:no-trailing-whitespace
public static readonly channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
];
// tslint:disable:no-trailing-whitespace
public static readonly modeNames: string[] = [
"DEFAULT_MODE",
];
public static readonly ruleNames: string[] = [
"T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8",
"T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16",
"T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24",
"T__25", "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", "T__32",
"T__33", "STRING_LITERAL", "ID", "REAL", "INT", "WS", "COMMENT", "LINE_COMMENT",
];
private static readonly _LITERAL_NAMES: Array<string | undefined> = [
undefined, "'include'", "';'", "'}'", "'opaque'", "'('", "')'", "'if'",
"'=='", "'barrier'", "'OPENQASM'", "'qreg'", "'['", "']'", "'creg'", "'gate'",
"'{'", "'measure'", "'->'", "'reset'", "'U'", "'CX'", "','", "'pi'", "'+'",
"'-'", "'*'", "'/'", "'^'", "'sin'", "'cos'", "'tan'", "'exp'", "'ln'",
"'sqrt'",
];
private static readonly _SYMBOLIC_NAMES: Array<string | undefined> = [
undefined, undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined, undefined,
"STRING_LITERAL", "ID", "REAL", "INT", "WS", "COMMENT", "LINE_COMMENT",
];
public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(openqasmLexer._LITERAL_NAMES, openqasmLexer._SYMBOLIC_NAMES, []);
// @Override
// @NotNull
public get vocabulary(): Vocabulary {
return openqasmLexer.VOCABULARY;
}
// tslint:enable:no-trailing-whitespace
constructor(input: CharStream) {
super(input);
this._interp = new LexerATNSimulator(openqasmLexer._ATN, this);
}
// @Override
public get grammarFileName(): string { return "openqasm.g4"; }
// @Override
public get ruleNames(): string[] { return openqasmLexer.ruleNames; }
// @Override
public get serializedATN(): string { return openqasmLexer._serializedATN; }
// @Override
public get channelNames(): string[] { return openqasmLexer.channelNames; }
// @Override
public get modeNames(): string[] { return openqasmLexer.modeNames; }
public static readonly _serializedATN: string =
"\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02+\u011F\b\x01" +
"\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06" +
"\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r" +
"\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t" +
"\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t" +
"\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t" +
"\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04\"\t" +
"\"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04\'\t\'\x04(\t(\x04)\t)\x04*\t*\x03" +
"\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x03\x03" +
"\x03\x03\x04\x03\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" +
"\x05\x03\x06\x03\x06\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\t\x03\t\x03" +
"\t\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\v\x03\v\x03\v\x03" +
"\v\x03\v\x03\v\x03\v\x03\v\x03\v\x03\f\x03\f\x03\f\x03\f\x03\f\x03\r\x03" +
"\r\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x10\x03" +
"\x10\x03\x10\x03\x10\x03\x10\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03" +
"\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x14\x03" +
"\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x15\x03\x15\x03\x16\x03\x16\x03" +
"\x16\x03\x17\x03\x17\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x1A\x03" +
"\x1A\x03\x1B\x03\x1B\x03\x1C\x03\x1C\x03\x1D\x03\x1D\x03\x1E\x03\x1E\x03" +
"\x1E\x03\x1E\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03 \x03 \x03 \x03 \x03!" +
"\x03!\x03!\x03!\x03\"\x03\"\x03\"\x03#\x03#\x03#\x03#\x03#\x03$\x03$\x07" +
"$\xD8\n$\f$\x0E$\xDB\v$\x03$\x03$\x03%\x03%\x07%\xE1\n%\f%\x0E%\xE4\v" +
"%\x03&\x03&\x03&\x06&\xE9\n&\r&\x0E&\xEA\x03&\x03&\x05&\xEF\n&\x03&\x06" +
"&\xF2\n&\r&\x0E&\xF3\x05&\xF6\n&\x03\'\x05\'\xF9\n\'\x03\'\x06\'\xFC\n" +
"\'\r\'\x0E\'\xFD\x03(\x06(\u0101\n(\r(\x0E(\u0102\x03(\x03(\x03)\x03)" +
"\x03)\x03)\x07)\u010B\n)\f)\x0E)\u010E\v)\x03)\x03)\x03)\x03)\x03)\x03" +
"*\x03*\x03*\x03*\x07*\u0119\n*\f*\x0E*\u011C\v*\x03*\x03*\x03\u010C\x02" +
"\x02+\x03\x02\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b" +
"\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0E\x1B\x02" +
"\x0F\x1D\x02\x10\x1F\x02\x11!\x02\x12#\x02\x13%\x02\x14\'\x02\x15)\x02" +
"\x16+\x02\x17-\x02\x18/\x02\x191\x02\x1A3\x02\x1B5\x02\x1C7\x02\x1D9\x02" +
"\x1E;\x02\x1F=\x02 ?\x02!A\x02\"C\x02#E\x02$G\x02%I\x02&K\x02\'M\x02(" +
"O\x02)Q\x02*S\x02+\x03\x02\n\x03\x02$$\x03\x02c|\x06\x022;C\\aac|\x03" +
"\x022;\x04\x02GGgg\x04\x02--//\x05\x02\v\f\x0E\x0F\"\"\x04\x02\f\f\x0F" +
"\x0F\x02\u0129\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07" +
"\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03" +
"\x02\x02\x02\x02\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03" +
"\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03" +
"\x02\x02\x02\x02\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02\x02\x1F\x03" +
"\x02\x02\x02\x02!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02%\x03\x02\x02" +
"\x02\x02\'\x03\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03\x02\x02\x02\x02" +
"-\x03\x02\x02\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02\x02\x023\x03\x02" +
"\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02\x02\x029\x03\x02\x02\x02" +
"\x02;\x03\x02\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02\x02\x02\x02A\x03" +
"\x02\x02\x02\x02C\x03\x02\x02\x02\x02E\x03\x02\x02\x02\x02G\x03\x02\x02" +
"\x02\x02I\x03\x02\x02\x02\x02K\x03\x02\x02\x02\x02M\x03\x02\x02\x02\x02" +
"O\x03\x02\x02\x02\x02Q\x03\x02\x02\x02\x02S\x03\x02\x02\x02\x03U\x03\x02" +
"\x02\x02\x05]\x03\x02\x02\x02\x07_\x03\x02\x02\x02\ta\x03\x02\x02\x02" +
"\vh\x03\x02\x02\x02\rj\x03\x02\x02\x02\x0Fl\x03\x02\x02\x02\x11o\x03\x02" +
"\x02\x02\x13r\x03\x02\x02\x02\x15z\x03\x02\x02\x02\x17\x83\x03\x02\x02" +
"\x02\x19\x88\x03\x02\x02\x02\x1B\x8A\x03\x02\x02\x02\x1D\x8C\x03\x02\x02" +
"\x02\x1F\x91\x03\x02\x02\x02!\x96\x03\x02\x02\x02#\x98\x03\x02\x02\x02" +
"%\xA0\x03\x02\x02\x02\'\xA3\x03\x02\x02\x02)\xA9\x03\x02\x02\x02+\xAB" +
"\x03\x02\x02\x02-\xAE\x03\x02\x02\x02/\xB0\x03\x02\x02\x021\xB3\x03\x02" +
"\x02\x023\xB5\x03\x02\x02\x025\xB7\x03\x02\x02\x027\xB9\x03\x02\x02\x02" +
"9\xBB\x03\x02\x02\x02;\xBD\x03\x02\x02\x02=\xC1\x03\x02\x02\x02?\xC5\x03" +
"\x02\x02\x02A\xC9\x03\x02\x02\x02C\xCD\x03\x02\x02\x02E\xD0\x03\x02\x02" +
"\x02G\xD5\x03\x02\x02\x02I\xDE\x03\x02\x02\x02K\xE5\x03\x02\x02\x02M\xF8" +
"\x03\x02\x02\x02O\u0100\x03\x02\x02\x02Q\u0106\x03\x02\x02\x02S\u0114" +
"\x03\x02\x02\x02UV\x07k\x02\x02VW\x07p\x02\x02WX\x07e\x02\x02XY\x07n\x02" +
"\x02YZ\x07w\x02\x02Z[\x07f\x02\x02[\\\x07g\x02\x02\\\x04\x03\x02\x02\x02" +
"]^\x07=\x02\x02^\x06\x03\x02\x02\x02_`\x07\x7F\x02\x02`\b\x03\x02\x02" +
"\x02ab\x07q\x02\x02bc\x07r\x02\x02cd\x07c\x02\x02de\x07s\x02\x02ef\x07" +
"w\x02\x02fg\x07g\x02\x02g\n\x03\x02\x02\x02hi\x07*\x02\x02i\f\x03\x02" +
"\x02\x02jk\x07+\x02\x02k\x0E\x03\x02\x02\x02lm\x07k\x02\x02mn\x07h\x02" +
"\x02n\x10\x03\x02\x02\x02op\x07?\x02\x02pq\x07?\x02\x02q\x12\x03\x02\x02" +
"\x02rs\x07d\x02\x02st\x07c\x02\x02tu\x07t\x02\x02uv\x07t\x02\x02vw\x07" +
"k\x02\x02wx\x07g\x02\x02xy\x07t\x02\x02y\x14\x03\x02\x02\x02z{\x07Q\x02" +
"\x02{|\x07R\x02\x02|}\x07G\x02\x02}~\x07P\x02\x02~\x7F\x07S\x02\x02\x7F" +
"\x80\x07C\x02\x02\x80\x81\x07U\x02\x02\x81\x82\x07O\x02\x02\x82\x16\x03" +
"\x02\x02\x02\x83\x84\x07s\x02\x02\x84\x85\x07t\x02\x02\x85\x86\x07g\x02" +
"\x02\x86\x87\x07i\x02\x02\x87\x18\x03\x02\x02\x02\x88\x89\x07]\x02\x02" +
"\x89\x1A\x03\x02\x02\x02\x8A\x8B\x07_\x02\x02\x8B\x1C\x03\x02\x02\x02" +
"\x8C\x8D\x07e\x02\x02\x8D\x8E\x07t\x02\x02\x8E\x8F\x07g\x02\x02\x8F\x90" +
"\x07i\x02\x02\x90\x1E\x03\x02\x02\x02\x91\x92\x07i\x02\x02\x92\x93\x07" +
"c\x02\x02\x93\x94\x07v\x02\x02\x94\x95\x07g\x02\x02\x95 \x03\x02\x02\x02" +
"\x96\x97\x07}\x02\x02\x97\"\x03\x02\x02\x02\x98\x99\x07o\x02\x02\x99\x9A" +
"\x07g\x02\x02\x9A\x9B\x07c\x02\x02\x9B\x9C\x07u\x02\x02\x9C\x9D\x07w\x02" +
"\x02\x9D\x9E\x07t\x02\x02\x9E\x9F\x07g\x02\x02\x9F$\x03\x02\x02\x02\xA0" +
"\xA1\x07/\x02\x02\xA1\xA2\x07@\x02\x02\xA2&\x03\x02\x02\x02\xA3\xA4\x07" +
"t\x02\x02\xA4\xA5\x07g\x02\x02\xA5\xA6\x07u\x02\x02\xA6\xA7\x07g\x02\x02" +
"\xA7\xA8\x07v\x02\x02\xA8(\x03\x02\x02\x02\xA9\xAA\x07W\x02\x02\xAA*\x03" +
"\x02\x02\x02\xAB\xAC\x07E\x02\x02\xAC\xAD\x07Z\x02\x02\xAD,\x03\x02\x02" +
"\x02\xAE\xAF\x07.\x02\x02\xAF.\x03\x02\x02\x02\xB0\xB1\x07r\x02\x02\xB1" +
"\xB2\x07k\x02\x02\xB20\x03\x02\x02\x02\xB3\xB4\x07-\x02\x02\xB42\x03\x02" +
"\x02\x02\xB5\xB6\x07/\x02\x02\xB64\x03\x02\x02\x02\xB7\xB8\x07,\x02\x02" +
"\xB86\x03\x02\x02\x02\xB9\xBA\x071\x02\x02\xBA8\x03\x02\x02\x02\xBB\xBC" +
"\x07`\x02\x02\xBC:\x03\x02\x02\x02\xBD\xBE\x07u\x02\x02\xBE\xBF\x07k\x02" +
"\x02\xBF\xC0\x07p\x02\x02\xC0<\x03\x02\x02\x02\xC1\xC2\x07e\x02\x02\xC2" +
"\xC3\x07q\x02\x02\xC3\xC4\x07u\x02\x02\xC4>\x03\x02\x02\x02\xC5\xC6\x07" +
"v\x02\x02\xC6\xC7\x07c\x02\x02\xC7\xC8\x07p\x02\x02\xC8@\x03\x02\x02\x02" +
"\xC9\xCA\x07g\x02\x02\xCA\xCB\x07z\x02\x02\xCB\xCC\x07r\x02\x02\xCCB\x03" +
"\x02\x02\x02\xCD\xCE\x07n\x02\x02\xCE\xCF\x07p\x02\x02\xCFD\x03\x02\x02" +
"\x02\xD0\xD1\x07u\x02\x02\xD1\xD2\x07s\x02\x02\xD2\xD3\x07t\x02\x02\xD3" +
"\xD4\x07v\x02\x02\xD4F\x03\x02\x02\x02\xD5\xD9\x07$\x02\x02\xD6\xD8\n" +
"\x02\x02\x02\xD7\xD6\x03\x02\x02\x02\xD8\xDB\x03\x02\x02\x02\xD9\xD7\x03" +
"\x02\x02\x02\xD9\xDA\x03\x02\x02\x02\xDA\xDC\x03\x02\x02\x02\xDB\xD9\x03" +
"\x02\x02\x02\xDC\xDD\x07$\x02\x02\xDDH\x03\x02\x02\x02\xDE\xE2\t\x03\x02" +
"\x02\xDF\xE1\t\x04\x02\x02\xE0\xDF\x03\x02\x02\x02\xE1\xE4\x03\x02\x02" +
"\x02\xE2\xE0\x03\x02\x02\x02\xE2\xE3\x03\x02\x02\x02\xE3J\x03\x02\x02" +
"\x02\xE4\xE2\x03\x02\x02\x02\xE5\xE6\x05M\'\x02\xE6\xE8\x070\x02\x02\xE7" +
"\xE9\t\x05\x02\x02\xE8\xE7\x03\x02\x02\x02\xE9\xEA\x03\x02\x02\x02\xEA" +
"\xE8\x03\x02\x02\x02\xEA\xEB\x03\x02\x02\x02\xEB\xF5\x03\x02\x02\x02\xEC" +
"\xEE\t\x06\x02\x02\xED\xEF\t\x07\x02\x02\xEE\xED\x03\x02\x02\x02\xEE\xEF" +
"\x03\x02\x02\x02\xEF\xF1\x03\x02\x02\x02\xF0\xF2\t\x05\x02\x02\xF1\xF0" +
"\x03\x02\x02\x02\xF2\xF3\x03\x02\x02\x02\xF3\xF1\x03\x02\x02\x02\xF3\xF4" +
"\x03\x02\x02\x02\xF4\xF6\x03\x02\x02\x02\xF5\xEC\x03\x02\x02\x02\xF5\xF6" +
"\x03\x02\x02\x02\xF6L\x03\x02\x02\x02\xF7\xF9\t\x07\x02\x02\xF8\xF7\x03" +
"\x02\x02\x02\xF8\xF9\x03\x02\x02\x02\xF9\xFB\x03\x02\x02\x02\xFA\xFC\t" +
"\x05\x02\x02\xFB\xFA\x03\x02\x02\x02\xFC\xFD\x03\x02\x02\x02\xFD\xFB\x03" +
"\x02\x02\x02\xFD\xFE\x03\x02\x02\x02\xFEN\x03\x02\x02\x02\xFF\u0101\t" +
"\b\x02\x02\u0100\xFF\x03\x02\x02\x02\u0101\u0102\x03\x02\x02\x02\u0102" +
"\u0100\x03\x02\x02\x02\u0102\u0103\x03\x02\x02\x02\u0103\u0104\x03\x02" +
"\x02\x02\u0104\u0105\b(\x02\x02\u0105P\x03\x02\x02\x02\u0106\u0107\x07" +
"1\x02\x02\u0107\u0108\x07,\x02\x02\u0108\u010C\x03\x02\x02\x02\u0109\u010B" +
"\v\x02\x02\x02\u010A\u0109\x03\x02\x02\x02\u010B\u010E\x03\x02\x02\x02" +
"\u010C\u010D\x03\x02\x02\x02\u010C\u010A\x03\x02\x02\x02\u010D\u010F\x03" +
"\x02\x02\x02\u010E\u010C\x03\x02\x02\x02\u010F\u0110\x07,\x02\x02\u0110" +
"\u0111\x071\x02\x02\u0111\u0112\x03\x02\x02\x02\u0112\u0113\b)\x03\x02" +
"\u0113R\x03\x02\x02\x02\u0114\u0115\x071\x02\x02\u0115\u0116\x071\x02" +
"\x02\u0116\u011A\x03\x02\x02\x02\u0117\u0119\n\t\x02\x02\u0118\u0117\x03" +
"\x02\x02\x02\u0119\u011C\x03\x02\x02\x02\u011A\u0118\x03\x02\x02\x02\u011A" +
"\u011B\x03\x02\x02\x02\u011B\u011D\x03\x02\x02\x02\u011C\u011A\x03\x02" +
"\x02\x02\u011D\u011E\b*\x03\x02\u011ET\x03\x02\x02\x02\x0E\x02\xD9\xE2" +
"\xEA\xEE\xF3\xF5\xF8\xFD\u0102\u010C\u011A\x04\b\x02\x02\x02\x03\x02";
public static __ATN: ATN;
public static get _ATN(): ATN {
if (!openqasmLexer.__ATN) {
openqasmLexer.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(openqasmLexer._serializedATN));
}
return openqasmLexer.__ATN;
}
}