node-mirror
Version:
node.js + CodeMirror = Great IDE and Admin Tool
1,664 lines (1,511 loc) • 145 kB
JavaScript
(function(){var __modFun = function(__require, promiseland){ __modFun = undefined;
if (promiseland._hasModule({ hashStr: "2267d37fbbc2ecb90d64c30ce93f2df0" })){ return promiseland._getModule("2267d37fbbc2ecb90d64c30ce93f2df0"); };
var PL$20/*RegExp*/;try{PL$20/*RegExp*/ = RegExp;}catch(e){};
var PL$24/*Error*/;try{PL$24/*Error*/ = Error;}catch(e){};
var PL$32/*String*/;try{PL$32/*String*/ = String;}catch(e){};
var PL$56/*code**/;try{PL$56/*code**/ = code*;}catch(e){};
var PL$71/*parseInt*/;try{PL$71/*parseInt*/ = parseInt;}catch(e){};
var PL$74/*parseFloat*/;try{PL$74/*parseFloat*/ = parseFloat;}catch(e){};
var PL$158/*Array*/;try{PL$158/*Array*/ = Array;}catch(e){};
var PL$187/*Object*/;try{PL$187/*Object*/ = Object;}catch(e){};
var PL$1 = (function(){
"use strict";
function PL$21/*assert*/(PL$22/*condition*/, PL$23/*message*/){
;
if(! PL$22/*condition*/){
throw new PL$24/*Error*/(("ASSERT: " + PL$23/*message*/));
};
;};
function PL$25/*isDecimalDigit*/(PL$26/*ch*/){
;
return ((PL$26/*ch*/ >= 48) && (PL$26/*ch*/ <= 57));
;};
function PL$27/*isHexDigit*/(PL$26/*ch*/){
;
return ("0123456789abcdefABCDEF"["indexOf"](PL$26/*ch*/) >= 0);
;};
function PL$28/*isOctalDigit*/(PL$26/*ch*/){
;
return ("01234567"["indexOf"](PL$26/*ch*/) >= 0);
;};
function PL$29/*isWhiteSpace*/(PL$26/*ch*/){
;
return ((((((PL$26/*ch*/ === 32) || (PL$26/*ch*/ === 9)) || (PL$26/*ch*/ === 11)) || (PL$26/*ch*/ === 12)) || (PL$26/*ch*/ === 160)) || ((PL$26/*ch*/ >= 5760) && ([
5760,
6158,
8192,
8193,
8194,
8195,
8196,
8197,
8198,
8199,
8200,
8201,
8202,
8239,
8287,
12288,
65279
]["indexOf"](PL$26/*ch*/) >= 0)));
;};
function PL$30/*isLineTerminator*/(PL$26/*ch*/){
;
return ((((PL$26/*ch*/ === 10) || (PL$26/*ch*/ === 13)) || (PL$26/*ch*/ === 8232)) || (PL$26/*ch*/ === 8233));
;};
function PL$31/*isIdentifierStart*/(PL$26/*ch*/){
;
return ((((((PL$26/*ch*/ === 36) || (PL$26/*ch*/ === 95)) || ((PL$26/*ch*/ >= 65) && (PL$26/*ch*/ <= 90))) || ((PL$26/*ch*/ >= 97) && (PL$26/*ch*/ <= 122))) || (PL$26/*ch*/ === 92)) || ((PL$26/*ch*/ >= 128) && PL$10/*Regex*/["NonAsciiIdentifierStart"]["test"](PL$32/*String*/["fromCharCode"](PL$26/*ch*/))));
;};
function PL$33/*isIdentifierPart*/(PL$26/*ch*/){
;
return (((((((PL$26/*ch*/ === 36) || (PL$26/*ch*/ === 95)) || ((PL$26/*ch*/ >= 65) && (PL$26/*ch*/ <= 90))) || ((PL$26/*ch*/ >= 97) && (PL$26/*ch*/ <= 122))) || ((PL$26/*ch*/ >= 48) && (PL$26/*ch*/ <= 57))) || (PL$26/*ch*/ === 92)) || ((PL$26/*ch*/ >= 128) && PL$10/*Regex*/["NonAsciiIdentifierPart"]["test"](PL$32/*String*/["fromCharCode"](PL$26/*ch*/))));
;};
function PL$34/*isFutureReservedWord*/(PL$35/*id*/){
;
switch (PL$35/*id*/){
case "class":
case "enum":
case "export":
case "extends":
case "import":
case "super":
return true;
default:
return false;
};
;};
function PL$36/*isStrictModeReservedWord*/(PL$35/*id*/){
;
switch (PL$35/*id*/){
case "implements":
case "interface":
case "package":
case "private":
case "protected":
case "public":
case "static":
case "yield":
case "let":
return true;
default:
return false;
};
;};
function PL$37/*isRestrictedWord*/(PL$35/*id*/){
;
return ((PL$35/*id*/ === "eval") || (PL$35/*id*/ === "arguments"));
;};
function PL$38/*isKeyword*/(PL$35/*id*/){
;
if((PL$12/*strict*/ && PL$36/*isStrictModeReservedWord*/(PL$35/*id*/))){
return true;
};
switch (PL$35/*id*/["length"]){
case 2:
return (((PL$35/*id*/ === "if") || (PL$35/*id*/ === "in")) || (PL$35/*id*/ === "do"));
case 3:
return (((((PL$35/*id*/ === "var") || (PL$35/*id*/ === "for")) || (PL$35/*id*/ === "new")) || (PL$35/*id*/ === "try")) || (PL$35/*id*/ === "let"));
case 4:
return ((((((PL$35/*id*/ === "this") || (PL$35/*id*/ === "else")) || (PL$35/*id*/ === "case")) || (PL$35/*id*/ === "void")) || (PL$35/*id*/ === "with")) || (PL$35/*id*/ === "enum"));
case 5:
return ((((((((PL$35/*id*/ === "while") || (PL$35/*id*/ === "break")) || (PL$35/*id*/ === "catch")) || (PL$35/*id*/ === "throw")) || (PL$35/*id*/ === "const")) || (PL$35/*id*/ === "yield")) || (PL$35/*id*/ === "class")) || (PL$35/*id*/ === "super"));
case 6:
return ((((((PL$35/*id*/ === "return") || (PL$35/*id*/ === "typeof")) || (PL$35/*id*/ === "delete")) || (PL$35/*id*/ === "switch")) || (PL$35/*id*/ === "export")) || (PL$35/*id*/ === "import"));
case 7:
return (((PL$35/*id*/ === "default") || (PL$35/*id*/ === "finally")) || (PL$35/*id*/ === "extends"));
case 8:
return (((PL$35/*id*/ === "function") || (PL$35/*id*/ === "continue")) || (PL$35/*id*/ === "debugger"));
case 10:
return (PL$35/*id*/ === "instanceof");
default:
return false;
};
;};
function PL$39/*addComment*/(PL$40/*type*/, PL$41/*value*/, PL$42/*start*/, PL$43/*end*/, PL$44/*loc*/){
;
var PL$45/*comment*/;
;
PL$21/*assert*/((typeof PL$42/*start*/ === "number"), "Comment must have valid position");
if((PL$18/*state*/["lastCommentStart"] >= PL$42/*start*/)){
return;
};
PL$18/*state*/["lastCommentStart"] = PL$42/*start*/;
PL$45/*comment*/ = {
"type": PL$40/*type*/,
"value": PL$41/*value*/
};
if(PL$19/*extra*/["range"]){
PL$45/*comment*/["range"] = [
PL$42/*start*/,
PL$43/*end*/
];
};
if(PL$19/*extra*/["loc"]){
PL$45/*comment*/["loc"] = PL$44/*loc*/;
};
PL$19/*extra*/["comments"]["push"](PL$45/*comment*/);
if(PL$19/*extra*/["attachComment"]){
PL$19/*extra*/["leadingComments"]["push"](PL$45/*comment*/);
PL$19/*extra*/["trailingComments"]["push"](PL$45/*comment*/);
};
;};
function PL$46/*skipSingleLineComment*/(PL$47/*offset*/){
;
var PL$42/*start*/;
;
var PL$44/*loc*/;
;
var PL$26/*ch*/;
;
var PL$45/*comment*/;
;
PL$42/*start*/ = (PL$13/*index*/ - PL$47/*offset*/);
PL$44/*loc*/ = {
"start": {
"line": PL$14/*lineNumber*/,
"column": ((PL$13/*index*/ - PL$15/*lineStart*/) - PL$47/*offset*/)
}
};
while((PL$13/*index*/ < PL$16/*length*/)){
{
PL$26/*ch*/ = PL$11/*source*/["charCodeAt"](PL$13/*index*/);
++PL$13/*index*/;
if(PL$30/*isLineTerminator*/(PL$26/*ch*/)){
if(PL$19/*extra*/["comments"]){
PL$45/*comment*/ = PL$11/*source*/["slice"]((PL$42/*start*/ + PL$47/*offset*/), (PL$13/*index*/ - 1));
PL$44/*loc*/["end"] = {
"line": PL$14/*lineNumber*/,
"column": ((PL$13/*index*/ - PL$15/*lineStart*/) - 1)
};
PL$39/*addComment*/("Line", PL$45/*comment*/, PL$42/*start*/, (PL$13/*index*/ - 1), PL$44/*loc*/);
};
if(((PL$26/*ch*/ === 13) && (PL$11/*source*/["charCodeAt"](PL$13/*index*/) === 10))){
++PL$13/*index*/;
};
++PL$14/*lineNumber*/;
PL$15/*lineStart*/ = PL$13/*index*/;
return;
};}};
if(PL$19/*extra*/["comments"]){
PL$45/*comment*/ = PL$11/*source*/["slice"]((PL$42/*start*/ + PL$47/*offset*/), PL$13/*index*/);
PL$44/*loc*/["end"] = {
"line": PL$14/*lineNumber*/,
"column": (PL$13/*index*/ - PL$15/*lineStart*/)
};
PL$39/*addComment*/("Line", PL$45/*comment*/, PL$42/*start*/, PL$13/*index*/, PL$44/*loc*/);
};
;};
function PL$48/*skipMultiLineComment*/(){
;
var PL$42/*start*/;
;
var PL$44/*loc*/;
;
var PL$26/*ch*/;
;
var PL$45/*comment*/;
;
if(PL$19/*extra*/["comments"]){
PL$42/*start*/ = (PL$13/*index*/ - 2);
PL$44/*loc*/ = {
"start": {
"line": PL$14/*lineNumber*/,
"column": ((PL$13/*index*/ - PL$15/*lineStart*/) - 2)
}
};
};
while((PL$13/*index*/ < PL$16/*length*/)){
{
PL$26/*ch*/ = PL$11/*source*/["charCodeAt"](PL$13/*index*/);
if(PL$30/*isLineTerminator*/(PL$26/*ch*/)){
if(((PL$26/*ch*/ === 13) && (PL$11/*source*/["charCodeAt"]((PL$13/*index*/ + 1)) === 10))){
++PL$13/*index*/;
};
++PL$14/*lineNumber*/;
++PL$13/*index*/;
PL$15/*lineStart*/ = PL$13/*index*/;
if((PL$13/*index*/ >= PL$16/*length*/)){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
}else{
if((PL$26/*ch*/ === 42)){
if((PL$11/*source*/["charCodeAt"]((PL$13/*index*/ + 1)) === 47)){
++PL$13/*index*/;
++PL$13/*index*/;
if(PL$19/*extra*/["comments"]){
PL$45/*comment*/ = PL$11/*source*/["slice"]((PL$42/*start*/ + 2), (PL$13/*index*/ - 2));
PL$44/*loc*/["end"] = {
"line": PL$14/*lineNumber*/,
"column": (PL$13/*index*/ - PL$15/*lineStart*/)
};
PL$39/*addComment*/("Block", PL$45/*comment*/, PL$42/*start*/, PL$13/*index*/, PL$44/*loc*/);
};
return;
};
++PL$13/*index*/;
}else{
++PL$13/*index*/;
};
};}};
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
;};
function PL$50/*skipComment*/(){
;
var PL$26/*ch*/;
;
var PL$42/*start*/;
;
PL$42/*start*/ = (PL$13/*index*/ === 0);
while((PL$13/*index*/ < PL$16/*length*/)){
{
PL$26/*ch*/ = PL$11/*source*/["charCodeAt"](PL$13/*index*/);
if(PL$29/*isWhiteSpace*/(PL$26/*ch*/)){
++PL$13/*index*/;
}else{
if(PL$30/*isLineTerminator*/(PL$26/*ch*/)){
++PL$13/*index*/;
if(((PL$26/*ch*/ === 13) && (PL$11/*source*/["charCodeAt"](PL$13/*index*/) === 10))){
++PL$13/*index*/;
};
++PL$14/*lineNumber*/;
PL$15/*lineStart*/ = PL$13/*index*/;
PL$42/*start*/ = true;
}else{
if((PL$26/*ch*/ === 47)){
PL$26/*ch*/ = PL$11/*source*/["charCodeAt"]((PL$13/*index*/ + 1));
if((PL$26/*ch*/ === 47)){
++PL$13/*index*/;
++PL$13/*index*/;
PL$46/*skipSingleLineComment*/(2);
PL$42/*start*/ = true;
}else{
if((PL$26/*ch*/ === 42)){
++PL$13/*index*/;
++PL$13/*index*/;
PL$48/*skipMultiLineComment*/();
}else{
break;;
};
};
}else{
if((PL$42/*start*/ && (PL$26/*ch*/ === 45))){
if(((PL$11/*source*/["charCodeAt"]((PL$13/*index*/ + 1)) === 45) && (PL$11/*source*/["charCodeAt"]((PL$13/*index*/ + 2)) === 62))){
PL$13/*index*/ += 3;
PL$46/*skipSingleLineComment*/(3);
}else{
break;;
};
}else{
if((PL$26/*ch*/ === 60)){
if((PL$11/*source*/["slice"]((PL$13/*index*/ + 1), (PL$13/*index*/ + 4)) === "!--")){
++PL$13/*index*/;
++PL$13/*index*/;
++PL$13/*index*/;
++PL$13/*index*/;
PL$46/*skipSingleLineComment*/(4);
}else{
break;;
};
}else{
break;;
};
};
};
};
};}};
;};
function PL$51/*scanHexEscape*/(PL$52/*prefix*/){
;
var PL$53/*i*/;
;
var PL$54/*len*/;
;
var PL$26/*ch*/;
;
var PL$55/*code*/ = 0;
;
PL$54/*len*/ = ((PL$52/*prefix*/ === "u") ? 4 : 2);
for(PL$53/*i*/ = 0;(PL$53/*i*/ < PL$54/*len*/);++PL$53/*i*/){{
if(((PL$13/*index*/ < PL$16/*length*/) && PL$27/*isHexDigit*/(PL$11/*source*/[PL$13/*index*/]))){
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/++];
PL$55/*code*/ = ((PL$56/*code**/ * 16) + "0123456789abcdef"["indexOf"](PL$26/*ch*/["toLowerCase"]()));
}else{
return "";
};}};
return PL$32/*String*/["fromCharCode"](PL$55/*code*/);
;};
function PL$57/*scanUnicodeCodePointEscape*/(){
;
var PL$26/*ch*/;
;
var PL$55/*code*/;
;
var PL$58/*cu1*/;
;
var PL$59/*cu2*/;
;
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/];
PL$55/*code*/ = 0;
if((PL$26/*ch*/ === "}")){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
while((PL$13/*index*/ < PL$16/*length*/)){
{
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/++];
if(! PL$27/*isHexDigit*/(PL$26/*ch*/)){
break;;
};
PL$55/*code*/ = ((PL$56/*code**/ * 16) + "0123456789abcdef"["indexOf"](PL$26/*ch*/["toLowerCase"]()));}};
if(((PL$55/*code*/ > 1114111) || (PL$26/*ch*/ !== "}"))){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
if((PL$55/*code*/ <= 65535)){
return PL$32/*String*/["fromCharCode"](PL$55/*code*/);
};
PL$58/*cu1*/ = (((PL$55/*code*/ - 65536) >> 10) + 55296);
PL$59/*cu2*/ = (((PL$55/*code*/ - 65536) & 1023) + 56320);
return PL$32/*String*/["fromCharCode"](PL$58/*cu1*/, PL$59/*cu2*/);
;};
function PL$60/*getEscapedIdentifier*/(){
;
var PL$26/*ch*/;
;
var PL$35/*id*/;
;
PL$26/*ch*/ = PL$11/*source*/["charCodeAt"](PL$13/*index*/++);
PL$35/*id*/ = PL$32/*String*/["fromCharCode"](PL$26/*ch*/);
if((PL$26/*ch*/ === 92)){
if((PL$11/*source*/["charCodeAt"](PL$13/*index*/) !== 117)){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
++PL$13/*index*/;
PL$26/*ch*/ = PL$51/*scanHexEscape*/("u");
if(((! PL$26/*ch*/ || (PL$26/*ch*/ === "\\")) || ! PL$31/*isIdentifierStart*/(PL$26/*ch*/["charCodeAt"](0)))){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
PL$35/*id*/ = PL$26/*ch*/;
};
while((PL$13/*index*/ < PL$16/*length*/)){
{
PL$26/*ch*/ = PL$11/*source*/["charCodeAt"](PL$13/*index*/);
if(! PL$33/*isIdentifierPart*/(PL$26/*ch*/)){
break;;
};
++PL$13/*index*/;
PL$35/*id*/ += PL$32/*String*/["fromCharCode"](PL$26/*ch*/);
if((PL$26/*ch*/ === 92)){
PL$35/*id*/ = PL$35/*id*/["substr"](0, (PL$35/*id*/["length"] - 1));
if((PL$11/*source*/["charCodeAt"](PL$13/*index*/) !== 117)){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
++PL$13/*index*/;
PL$26/*ch*/ = PL$51/*scanHexEscape*/("u");
if(((! PL$26/*ch*/ || (PL$26/*ch*/ === "\\")) || ! PL$33/*isIdentifierPart*/(PL$26/*ch*/["charCodeAt"](0)))){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
PL$35/*id*/ += PL$26/*ch*/;
};}};
return PL$35/*id*/;
;};
function PL$61/*getIdentifier*/(){
;
var PL$42/*start*/;
;
var PL$26/*ch*/;
;
PL$42/*start*/ = PL$13/*index*/++;
while((PL$13/*index*/ < PL$16/*length*/)){
{
PL$26/*ch*/ = PL$11/*source*/["charCodeAt"](PL$13/*index*/);
if((PL$26/*ch*/ === 92)){
PL$13/*index*/ = PL$42/*start*/;
return PL$60/*getEscapedIdentifier*/();
};
if(PL$33/*isIdentifierPart*/(PL$26/*ch*/)){
++PL$13/*index*/;
}else{
break;;
};}};
return PL$11/*source*/["slice"](PL$42/*start*/, PL$13/*index*/);
;};
function PL$62/*scanIdentifier*/(){
;
var PL$42/*start*/;
;
var PL$35/*id*/;
;
var PL$40/*type*/;
;
PL$42/*start*/ = PL$13/*index*/;
PL$35/*id*/ = ((PL$11/*source*/["charCodeAt"](PL$13/*index*/) === 92) ? PL$60/*getEscapedIdentifier*/() : PL$61/*getIdentifier*/());
if((PL$35/*id*/["length"] === 1)){
PL$40/*type*/ = PL$3/*Token*/["Identifier"];
}else{
if(PL$38/*isKeyword*/(PL$35/*id*/)){
PL$40/*type*/ = PL$3/*Token*/["Keyword"];
}else{
if((PL$35/*id*/ === "null")){
PL$40/*type*/ = PL$3/*Token*/["NullLiteral"];
}else{
if(((PL$35/*id*/ === "true") || (PL$35/*id*/ === "false"))){
PL$40/*type*/ = PL$3/*Token*/["BooleanLiteral"];
}else{
PL$40/*type*/ = PL$3/*Token*/["Identifier"];
};
};
};
};
return {
"type": PL$40/*type*/,
"value": PL$35/*id*/,
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
;};
function PL$63/*scanPunctuator*/(){
;
var PL$42/*start*/ = PL$13/*index*/;
;
var PL$55/*code*/ = PL$11/*source*/["charCodeAt"](PL$13/*index*/);
;
var PL$64/*code2*/;
;
var PL$65/*ch1*/ = PL$11/*source*/[PL$13/*index*/];
;
var PL$66/*ch2*/;
;
var PL$67/*ch3*/;
;
var PL$68/*ch4*/;
;
switch (PL$55/*code*/){
case 46:
case 40:
case 41:
case 59:
case 44:
case 123:
case 125:
case 91:
case 93:
case 58:
case 63:
case 126:
++PL$13/*index*/;
if(PL$19/*extra*/["tokenize"]){
if((PL$55/*code*/ === 40)){
PL$19/*extra*/["openParenToken"] = PL$19/*extra*/["tokens"]["length"];
}else{
if((PL$55/*code*/ === 123)){
PL$19/*extra*/["openCurlyToken"] = PL$19/*extra*/["tokens"]["length"];
};
};
};
return {
"type": PL$3/*Token*/["Punctuator"],
"value": PL$32/*String*/["fromCharCode"](PL$55/*code*/),
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
default:
PL$64/*code2*/ = PL$11/*source*/["charCodeAt"]((PL$13/*index*/ + 1));
if((PL$64/*code2*/ === 61)){
switch (PL$55/*code*/){
case 43:
case 45:
case 47:
case 60:
case 62:
case 94:
case 124:
case 37:
case 38:
case 42:
PL$13/*index*/ += 2;
return {
"type": PL$3/*Token*/["Punctuator"],
"value": (PL$32/*String*/["fromCharCode"](PL$55/*code*/) + PL$32/*String*/["fromCharCode"](PL$64/*code2*/)),
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
case 33:
case 61:
PL$13/*index*/ += 2;
if((PL$11/*source*/["charCodeAt"](PL$13/*index*/) === 61)){
++PL$13/*index*/;
};
return {
"type": PL$3/*Token*/["Punctuator"],
"value": PL$11/*source*/["slice"](PL$42/*start*/, PL$13/*index*/),
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
};
};
};
PL$68/*ch4*/ = PL$11/*source*/["substr"](PL$13/*index*/, 4);
if((PL$68/*ch4*/ === ">>>=")){
PL$13/*index*/ += 4;
return {
"type": PL$3/*Token*/["Punctuator"],
"value": PL$68/*ch4*/,
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
};
PL$67/*ch3*/ = PL$68/*ch4*/["substr"](0, 3);
if((((PL$67/*ch3*/ === ">>>") || (PL$67/*ch3*/ === "<<=")) || (PL$67/*ch3*/ === ">>="))){
PL$13/*index*/ += 3;
return {
"type": PL$3/*Token*/["Punctuator"],
"value": PL$67/*ch3*/,
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
};
PL$66/*ch2*/ = PL$67/*ch3*/["substr"](0, 2);
if((((PL$65/*ch1*/ === PL$66/*ch2*/[1]) && ("+-<>&|"["indexOf"](PL$65/*ch1*/) >= 0)) || (PL$66/*ch2*/ === "=>"))){
PL$13/*index*/ += 2;
return {
"type": PL$3/*Token*/["Punctuator"],
"value": PL$66/*ch2*/,
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
};
if(("<>=!+-*%&|^/"["indexOf"](PL$65/*ch1*/) >= 0)){
++PL$13/*index*/;
return {
"type": PL$3/*Token*/["Punctuator"],
"value": PL$65/*ch1*/,
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
};
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
;};
function PL$69/*scanHexLiteral*/(PL$42/*start*/){
;
var PL$70/*number*/ = "";
;
while((PL$13/*index*/ < PL$16/*length*/)){
{
if(! PL$27/*isHexDigit*/(PL$11/*source*/[PL$13/*index*/])){
break;;
};
PL$70/*number*/ += PL$11/*source*/[PL$13/*index*/++];}};
if((PL$70/*number*/["length"] === 0)){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
if(PL$31/*isIdentifierStart*/(PL$11/*source*/["charCodeAt"](PL$13/*index*/))){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
return {
"type": PL$3/*Token*/["NumericLiteral"],
"value": PL$71/*parseInt*/(("0x" + PL$70/*number*/), 16),
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
;};
function PL$72/*scanOctalLiteral*/(PL$42/*start*/){
;
var PL$70/*number*/ = ("0" + PL$11/*source*/[PL$13/*index*/++]);
;
while((PL$13/*index*/ < PL$16/*length*/)){
{
if(! PL$28/*isOctalDigit*/(PL$11/*source*/[PL$13/*index*/])){
break;;
};
PL$70/*number*/ += PL$11/*source*/[PL$13/*index*/++];}};
if((PL$31/*isIdentifierStart*/(PL$11/*source*/["charCodeAt"](PL$13/*index*/)) || PL$25/*isDecimalDigit*/(PL$11/*source*/["charCodeAt"](PL$13/*index*/)))){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
return {
"type": PL$3/*Token*/["NumericLiteral"],
"value": PL$71/*parseInt*/(PL$70/*number*/, 8),
"octal": true,
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
;};
function PL$73/*scanNumericLiteral*/(){
;
var PL$70/*number*/;
;
var PL$42/*start*/;
;
var PL$26/*ch*/;
;
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/];
PL$21/*assert*/((PL$25/*isDecimalDigit*/(PL$26/*ch*/["charCodeAt"](0)) || (PL$26/*ch*/ === ".")), "Numeric literal must start with a decimal digit or a decimal point");
PL$42/*start*/ = PL$13/*index*/;
PL$70/*number*/ = "";
if((PL$26/*ch*/ !== ".")){
PL$70/*number*/ = PL$11/*source*/[PL$13/*index*/++];
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/];
if((PL$70/*number*/ === "0")){
if(((PL$26/*ch*/ === "x") || (PL$26/*ch*/ === "X"))){
++PL$13/*index*/;
return PL$69/*scanHexLiteral*/(PL$42/*start*/);
};
if(PL$28/*isOctalDigit*/(PL$26/*ch*/)){
return PL$72/*scanOctalLiteral*/(PL$42/*start*/);
};
if((PL$26/*ch*/ && PL$25/*isDecimalDigit*/(PL$26/*ch*/["charCodeAt"](0)))){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
};
while(PL$25/*isDecimalDigit*/(PL$11/*source*/["charCodeAt"](PL$13/*index*/))){
{
PL$70/*number*/ += PL$11/*source*/[PL$13/*index*/++];}};
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/];
};
if((PL$26/*ch*/ === ".")){
PL$70/*number*/ += PL$11/*source*/[PL$13/*index*/++];
while(PL$25/*isDecimalDigit*/(PL$11/*source*/["charCodeAt"](PL$13/*index*/))){
{
PL$70/*number*/ += PL$11/*source*/[PL$13/*index*/++];}};
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/];
};
if(((PL$26/*ch*/ === "e") || (PL$26/*ch*/ === "E"))){
PL$70/*number*/ += PL$11/*source*/[PL$13/*index*/++];
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/];
if(((PL$26/*ch*/ === "+") || (PL$26/*ch*/ === "-"))){
PL$70/*number*/ += PL$11/*source*/[PL$13/*index*/++];
};
if(PL$25/*isDecimalDigit*/(PL$11/*source*/["charCodeAt"](PL$13/*index*/))){
while(PL$25/*isDecimalDigit*/(PL$11/*source*/["charCodeAt"](PL$13/*index*/))){
{
PL$70/*number*/ += PL$11/*source*/[PL$13/*index*/++];}};
}else{
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
};
if(PL$31/*isIdentifierStart*/(PL$11/*source*/["charCodeAt"](PL$13/*index*/))){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
return {
"type": PL$3/*Token*/["NumericLiteral"],
"value": PL$74/*parseFloat*/(PL$70/*number*/),
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
;};
function PL$75/*scanStringLiteral*/(){
;
var PL$76/*str*/ = "";
;
var PL$77/*quote*/;
;
var PL$42/*start*/;
;
var PL$26/*ch*/;
;
var PL$55/*code*/;
;
var PL$78/*unescaped*/;
;
var PL$79/*restore*/;
;
var PL$80/*octal*/ = false;
;
var PL$81/*startLineNumber*/;
;
var PL$82/*startLineStart*/;
;
PL$81/*startLineNumber*/ = PL$14/*lineNumber*/;
PL$82/*startLineStart*/ = PL$15/*lineStart*/;
PL$77/*quote*/ = PL$11/*source*/[PL$13/*index*/];
PL$21/*assert*/(((PL$77/*quote*/ === "'") || (PL$77/*quote*/ === "\"")), "String literal must starts with a quote");
PL$42/*start*/ = PL$13/*index*/;
++PL$13/*index*/;
while((PL$13/*index*/ < PL$16/*length*/)){
{
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/++];
if((PL$26/*ch*/ === PL$77/*quote*/)){
PL$77/*quote*/ = "";
break;;
}else{
if((PL$26/*ch*/ === "\\")){
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/++];
if((! PL$26/*ch*/ || ! PL$30/*isLineTerminator*/(PL$26/*ch*/["charCodeAt"](0)))){
switch (PL$26/*ch*/){
case "u":
case "x":
if((PL$11/*source*/[PL$13/*index*/] === "{")){
++PL$13/*index*/;
PL$76/*str*/ += PL$57/*scanUnicodeCodePointEscape*/();
}else{
PL$79/*restore*/ = PL$13/*index*/;
PL$78/*unescaped*/ = PL$51/*scanHexEscape*/(PL$26/*ch*/);
if(PL$78/*unescaped*/){
PL$76/*str*/ += PL$78/*unescaped*/;
}else{
PL$13/*index*/ = PL$79/*restore*/;
PL$76/*str*/ += PL$26/*ch*/;
};
};
break;;
case "n":
PL$76/*str*/ += "\n";
break;;
case "r":
PL$76/*str*/ += "\r";
break;;
case "t":
PL$76/*str*/ += " ";
break;;
case "b":
PL$76/*str*/ += "";
break;;
case "f":
PL$76/*str*/ += "";
break;;
case "v":
PL$76/*str*/ += "";
break;;
default:
if(PL$28/*isOctalDigit*/(PL$26/*ch*/)){
PL$55/*code*/ = "01234567"["indexOf"](PL$26/*ch*/);
if((PL$55/*code*/ !== 0)){
PL$80/*octal*/ = true;
};
if(((PL$13/*index*/ < PL$16/*length*/) && PL$28/*isOctalDigit*/(PL$11/*source*/[PL$13/*index*/]))){
PL$80/*octal*/ = true;
PL$55/*code*/ = ((PL$56/*code**/ * 8) + "01234567"["indexOf"](PL$11/*source*/[PL$13/*index*/++]));
if(((("0123"["indexOf"](PL$26/*ch*/) >= 0) && (PL$13/*index*/ < PL$16/*length*/)) && PL$28/*isOctalDigit*/(PL$11/*source*/[PL$13/*index*/]))){
PL$55/*code*/ = ((PL$56/*code**/ * 8) + "01234567"["indexOf"](PL$11/*source*/[PL$13/*index*/++]));
};
};
PL$76/*str*/ += PL$32/*String*/["fromCharCode"](PL$55/*code*/);
}else{
PL$76/*str*/ += PL$26/*ch*/;
};
break;;
};
}else{
++PL$14/*lineNumber*/;
if(((PL$26/*ch*/ === "\r") && (PL$11/*source*/[PL$13/*index*/] === "\n"))){
++PL$13/*index*/;
};
PL$15/*lineStart*/ = PL$13/*index*/;
};
}else{
if(PL$30/*isLineTerminator*/(PL$26/*ch*/["charCodeAt"](0))){
break;;
}else{
PL$76/*str*/ += PL$26/*ch*/;
};
};
};}};
if((PL$77/*quote*/ !== "")){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
return {
"type": PL$3/*Token*/["StringLiteral"],
"value": PL$76/*str*/,
"octal": PL$80/*octal*/,
"startLineNumber": PL$81/*startLineNumber*/,
"startLineStart": PL$82/*startLineStart*/,
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
;};
function PL$83/*testRegExp*/(PL$84/*pattern*/, PL$85/*flags*/){
;
var PL$86/*tmp*/ = PL$84/*pattern*/;
;
var PL$41/*value*/;
;
if((PL$85/*flags*/["indexOf"]("u") >= 0)){
PL$86/*tmp*/ = PL$86/*tmp*/["replace"](/\\u\{([0-9a-fA-F]+)\}/g, (function(PL$87/*$0*/, PL$88/*$1*/){
;
if((PL$71/*parseInt*/(PL$88/*$1*/, 16) <= 1114111)){
return "x";
};
PL$49/*throwError*/({
}, PL$9/*Messages*/["InvalidRegExp"]);
;}))["replace"](/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x");
};
try
{
PL$41/*value*/ = new PL$20/*RegExp*/(PL$86/*tmp*/);}catch(PL$89/*e*/){
PL$49/*throwError*/({
}, PL$9/*Messages*/["InvalidRegExp"]);};
try
{
return new PL$20/*RegExp*/(PL$84/*pattern*/, PL$85/*flags*/);}catch(PL$90/*exception*/){
return null;};
;};
function PL$91/*scanRegExpBody*/(){
;
var PL$26/*ch*/;
;
var PL$76/*str*/;
;
var PL$92/*classMarker*/;
;
var PL$93/*terminated*/;
;
var PL$94/*body*/;
;
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/];
PL$21/*assert*/((PL$26/*ch*/ === "/"), "Regular expression literal must start with a slash");
PL$76/*str*/ = PL$11/*source*/[PL$13/*index*/++];
PL$92/*classMarker*/ = false;
PL$93/*terminated*/ = false;
while((PL$13/*index*/ < PL$16/*length*/)){
{
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/++];
PL$76/*str*/ += PL$26/*ch*/;
if((PL$26/*ch*/ === "\\")){
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/++];
if(PL$30/*isLineTerminator*/(PL$26/*ch*/["charCodeAt"](0))){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnterminatedRegExp"]);
};
PL$76/*str*/ += PL$26/*ch*/;
}else{
if(PL$30/*isLineTerminator*/(PL$26/*ch*/["charCodeAt"](0))){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnterminatedRegExp"]);
}else{
if(PL$92/*classMarker*/){
if((PL$26/*ch*/ === "]")){
PL$92/*classMarker*/ = false;
};
}else{
if((PL$26/*ch*/ === "/")){
PL$93/*terminated*/ = true;
break;;
}else{
if((PL$26/*ch*/ === "[")){
PL$92/*classMarker*/ = true;
};
};
};
};
};}};
if(! PL$93/*terminated*/){
PL$49/*throwError*/({
}, PL$9/*Messages*/["UnterminatedRegExp"]);
};
PL$94/*body*/ = PL$76/*str*/["substr"](1, (PL$76/*str*/["length"] - 2));
return {
"value": PL$94/*body*/,
"literal": PL$76/*str*/
};
;};
function PL$95/*scanRegExpFlags*/(){
;
var PL$26/*ch*/;
;
var PL$76/*str*/;
;
var PL$85/*flags*/;
;
var PL$79/*restore*/;
;
PL$76/*str*/ = "";
PL$85/*flags*/ = "";
while((PL$13/*index*/ < PL$16/*length*/)){
{
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/];
if(! PL$33/*isIdentifierPart*/(PL$26/*ch*/["charCodeAt"](0))){
break;;
};
++PL$13/*index*/;
if(((PL$26/*ch*/ === "\\") && (PL$13/*index*/ < PL$16/*length*/))){
PL$26/*ch*/ = PL$11/*source*/[PL$13/*index*/];
if((PL$26/*ch*/ === "u")){
++PL$13/*index*/;
PL$79/*restore*/ = PL$13/*index*/;
PL$26/*ch*/ = PL$51/*scanHexEscape*/("u");
if(PL$26/*ch*/){
PL$85/*flags*/ += PL$26/*ch*/;
for(PL$76/*str*/ += "\\u";(PL$79/*restore*/ < PL$13/*index*/);++PL$79/*restore*/){{
PL$76/*str*/ += PL$11/*source*/[PL$79/*restore*/];}};
}else{
PL$13/*index*/ = PL$79/*restore*/;
PL$85/*flags*/ += "u";
PL$76/*str*/ += "\\u";
};
PL$96/*throwErrorTolerant*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
}else{
PL$76/*str*/ += "\\";
PL$96/*throwErrorTolerant*/({
}, PL$9/*Messages*/["UnexpectedToken"], "ILLEGAL");
};
}else{
PL$85/*flags*/ += PL$26/*ch*/;
PL$76/*str*/ += PL$26/*ch*/;
};}};
return {
"value": PL$85/*flags*/,
"literal": PL$76/*str*/
};
;};
function PL$97/*scanRegExp*/(){
;
var PL$42/*start*/;
;
var PL$94/*body*/;
;
var PL$85/*flags*/;
;
var PL$41/*value*/;
;
PL$17/*lookahead*/ = null;
PL$50/*skipComment*/();
PL$42/*start*/ = PL$13/*index*/;
PL$94/*body*/ = PL$91/*scanRegExpBody*/();
PL$85/*flags*/ = PL$95/*scanRegExpFlags*/();
PL$41/*value*/ = PL$83/*testRegExp*/(PL$94/*body*/["value"], PL$85/*flags*/["value"]);
if(PL$19/*extra*/["tokenize"]){
return {
"type": PL$3/*Token*/["RegularExpression"],
"value": PL$41/*value*/,
"regex": {
"pattern": PL$94/*body*/["value"],
"flags": PL$85/*flags*/["value"]
},
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
};
return {
"literal": (PL$94/*body*/["literal"] + PL$85/*flags*/["literal"]),
"value": PL$41/*value*/,
"regex": {
"pattern": PL$94/*body*/["value"],
"flags": PL$85/*flags*/["value"]
},
"start": PL$42/*start*/,
"end": PL$13/*index*/
};
;};
function PL$98/*collectRegex*/(){
;
var PL$99/*pos*/;
;
var PL$44/*loc*/;
;
var PL$100/*regex*/;
;
var PL$101/*token*/;
;
PL$50/*skipComment*/();
PL$99/*pos*/ = PL$13/*index*/;
PL$44/*loc*/ = {
"start": {
"line": PL$14/*lineNumber*/,
"column": (PL$13/*index*/ - PL$15/*lineStart*/)
}
};
PL$100/*regex*/ = PL$97/*scanRegExp*/();
PL$44/*loc*/["end"] = {
"line": PL$14/*lineNumber*/,
"column": (PL$13/*index*/ - PL$15/*lineStart*/)
};
if(! PL$19/*extra*/["tokenize"]){
if((PL$19/*extra*/["tokens"]["length"] > 0)){
PL$101/*token*/ = PL$19/*extra*/["tokens"][(PL$19/*extra*/["tokens"]["length"] - 1)];
if(((PL$101/*token*/["range"][0] === PL$99/*pos*/) && (PL$101/*token*/["type"] === "Punctuator"))){
if(((PL$101/*token*/["value"] === "/") || (PL$101/*token*/["value"] === "/="))){
PL$19/*extra*/["tokens"]["pop"]();
};
};
};
PL$19/*extra*/["tokens"]["push"]({
"type": "RegularExpression",
"value": PL$100/*regex*/["literal"],
"regex": PL$100/*regex*/["regex"],
"range": [
PL$99/*pos*/,
PL$13/*index*/
],
"loc": PL$44/*loc*/
});
};
return PL$100/*regex*/;
;};
function PL$102/*isIdentifierName*/(PL$101/*token*/){
;
return ((((PL$101/*token*/["type"] === PL$3/*Token*/["Identifier"]) || (PL$101/*token*/["type"] === PL$3/*Token*/["Keyword"])) || (PL$101/*token*/["type"] === PL$3/*Token*/["BooleanLiteral"])) || (PL$101/*token*/["type"] === PL$3/*Token*/["NullLiteral"]));
;};
function PL$103/*advanceSlash*/(){
;
var PL$104/*prevToken*/;
;
var PL$105/*checkToken*/;
;
PL$104/*prevToken*/ = PL$19/*extra*/["tokens"][(PL$19/*extra*/["tokens"]["length"] - 1)];
if(! PL$104/*prevToken*/){
return PL$98/*collectRegex*/();
};
if((PL$104/*prevToken*/["type"] === "Punctuator")){
if((PL$104/*prevToken*/["value"] === "]")){
return PL$63/*scanPunctuator*/();
};
if((PL$104/*prevToken*/["value"] === ")")){
PL$105/*checkToken*/ = PL$19/*extra*/["tokens"][(PL$19/*extra*/["openParenToken"] - 1)];
if(((PL$105/*checkToken*/ && (PL$105/*checkToken*/["type"] === "Keyword")) && ((((PL$105/*checkToken*/["value"] === "if") || (PL$105/*checkToken*/["value"] === "while")) || (PL$105/*checkToken*/["value"] === "for")) || (PL$105/*checkToken*/["value"] === "with")))){
return PL$98/*collectRegex*/();
};
return PL$63/*scanPunctuator*/();
};
if((PL$104/*prevToken*/["value"] === "}")){
if((PL$19/*extra*/["tokens"][(PL$19/*extra*/["openCurlyToken"] - 3)] && (PL$19/*extra*/["tokens"][(PL$19/*extra*/["openCurlyToken"] - 3)]["type"] === "Keyword"))){
PL$105/*checkToken*/ = PL$19/*extra*/["tokens"][(PL$19/*extra*/["openCurlyToken"] - 4)];
if(! PL$105/*checkToken*/){
return PL$63/*scanPunctuator*/();
};
}else{
if((PL$19/*extra*/["tokens"][(PL$19/*extra*/["openCurlyToken"] - 4)] && (PL$19/*extra*/["tokens"][(PL$19/*extra*/["openCurlyToken"] - 4)]["type"] === "Keyword"))){
PL$105/*checkToken*/ = PL$19/*extra*/["tokens"][(PL$19/*extra*/["openCurlyToken"] - 5)];
if(! PL$105/*checkToken*/){
return PL$98/*collectRegex*/();
};
}else{
return PL$63/*scanPunctuator*/();
};
};
if((PL$5/*FnExprTokens*/["indexOf"](PL$105/*checkToken*/["value"]) >= 0)){
return PL$63/*scanPunctuator*/();
};
return PL$98/*collectRegex*/();
};
return PL$98/*collectRegex*/();
};
if((PL$104/*prevToken*/["type"] === "Keyword")){
return PL$98/*collectRegex*/();
};
return PL$63/*scanPunctuator*/();
;};
function PL$106/*advance*/(){
;
var PL$26/*ch*/;
;
PL$50/*skipComment*/();
if((PL$13/*index*/ >= PL$16/*length*/)){
return {
"type": PL$3/*Token*/["EOF"],
"lineNumber": PL$14/*lineNumber*/,
"lineStart": PL$15/*lineStart*/,
"start": PL$13/*index*/,
"end": PL$13/*index*/
};
};
PL$26/*ch*/ = PL$11/*source*/["charCodeAt"](PL$13/*index*/);
if(PL$31/*isIdentifierStart*/(PL$26/*ch*/)){
return PL$62/*scanIdentifier*/();
};
if((((PL$26/*ch*/ === 40) || (PL$26/*ch*/ === 41)) || (PL$26/*ch*/ === 59))){
return PL$63/*scanPunctuator*/();
};
if(((PL$26/*ch*/ === 39) || (PL$26/*ch*/ === 34))){
return PL$75/*scanStringLiteral*/();
};
if((PL$26/*ch*/ === 46)){
if(PL$25/*isDecimalDigit*/(PL$11/*source*/["charCodeAt"]((PL$13/*index*/ + 1)))){
return PL$73/*scanNumericLiteral*/();
};
return PL$63/*scanPunctuator*/();
};
if(PL$25/*isDecimalDigit*/(PL$26/*ch*/)){
return PL$73/*scanNumericLiteral*/();
};
if((PL$19/*extra*/["tokenize"] && (PL$26/*ch*/ === 47))){
return PL$103/*advanceSlash*/();
};
return PL$63/*scanPunctuator*/();
;};
function PL$107/*collectToken*/(){
;
var PL$44/*loc*/;
;
var PL$101/*token*/;
;
var PL$41/*value*/;
;
var PL$108/*entry*/;
;
PL$50/*skipComment*/();
PL$44/*loc*/ = {
"start": {
"line": PL$14/*lineNumber*/,
"column": (PL$13/*index*/ - PL$15/*lineStart*/)
}
};
PL$101/*token*/ = PL$106/*advance*/();
PL$44/*loc*/["end"] = {
"line": PL$14/*lineNumber*/,
"column": (PL$13/*index*/ - PL$15/*lineStart*/)
};
if((PL$101/*token*/["type"] !== PL$3/*Token*/["EOF"])){
PL$41/*value*/ = PL$11/*source*/["slice"](PL$101/*token*/["start"], PL$101/*token*/["end"]);
PL$108/*entry*/ = {
"type": PL$4/*TokenName*/[PL$101/*token*/["type"]],
"value": PL$41/*value*/,
"range": [
PL$101/*token*/["start"],
PL$101/*token*/["end"]
],
"loc": PL$44/*loc*/
};
if(PL$101/*token*/["regex"]){
PL$108/*entry*/["regex"] = {
"pattern": PL$101/*token*/["regex"]["pattern"],
"flags": PL$101/*token*/["regex"]["flags"]
};
};
PL$19/*extra*/["tokens"]["push"](PL$108/*entry*/);
};
return PL$101/*token*/;
;};
function PL$109/*lex*/(){
;
var PL$101/*token*/;
;
PL$101/*token*/ = PL$17/*lookahead*/;
PL$13/*index*/ = PL$101/*token*/["end"];
PL$14/*lineNumber*/ = PL$101/*token*/["lineNumber"];
PL$15/*lineStart*/ = PL$101/*token*/["lineStart"];
PL$17/*lookahead*/ = ((typeof PL$19/*extra*/["tokens"] !== "undefined") ? PL$107/*collectToken*/() : PL$106/*advance*/());
PL$13/*index*/ = PL$101/*token*/["end"];
PL$14/*lineNumber*/ = PL$101/*token*/["lineNumber"];
PL$15/*lineStart*/ = PL$101/*token*/["lineStart"];
return PL$101/*token*/;
;};
function PL$110/*peek*/(){
;
var PL$99/*pos*/;
;
var PL$111/*line*/;
;
var PL$42/*start*/;
;
PL$99/*pos*/ = PL$13/*index*/;
PL$111/*line*/ = PL$14/*lineNumber*/;
PL$42/*start*/ = PL$15/*lineStart*/;
PL$17/*lookahead*/ = ((typeof PL$19/*extra*/["tokens"] !== "undefined") ? PL$107/*collectToken*/() : PL$106/*advance*/());
PL$13/*index*/ = PL$99/*pos*/;
PL$14/*lineNumber*/ = PL$111/*line*/;
PL$15/*lineStart*/ = PL$42/*start*/;
;};
function PL$112/*Position*/(){
;
this["line"] = PL$14/*lineNumber*/;
this["column"] = (PL$13/*index*/ - PL$15/*lineStart*/);
;};
function PL$113/*SourceLocation*/(){
;
this["start"] = new PL$112/*Position*/();
this["end"] = null;
;};
function PL$114/*WrappingSourceLocation*/(PL$115/*startToken*/){
;
if((PL$115/*startToken*/["type"] === PL$3/*Token*/["StringLiteral"])){
this["start"] = {
"line": PL$115/*startToken*/["startLineNumber"],
"column": (PL$115/*startToken*/["start"] - PL$115/*startToken*/["startLineStart"])
};
}else{
this["start"] = {
"line": PL$115/*startToken*/["lineNumber"],
"column": (PL$115/*startToken*/["start"] - PL$115/*startToken*/["lineStart"])
};
};
this["end"] = null;
;};
function PL$116/*Node*/(){
;
PL$13/*index*/ = PL$17/*lookahead*/["start"];
if((PL$17/*lookahead*/["type"] === PL$3/*Token*/["StringLiteral"])){
PL$14/*lineNumber*/ = PL$17/*lookahead*/["startLineNumber"];
PL$15/*lineStart*/ = PL$17/*lookahead*/["startLineStart"];
}else{
PL$14/*lineNumber*/ = PL$17/*lookahead*/["lineNumber"];
PL$15/*lineStart*/ = PL$17/*lookahead*/["lineStart"];
};
if(PL$19/*extra*/["range"]){
this["range"] = [
PL$13/*index*/,
0
];
};
if(PL$19/*extra*/["loc"]){
this["loc"] = new PL$113/*SourceLocation*/();
};
;};
function PL$117/*WrappingNode*/(PL$115/*startToken*/){
;
if(PL$19/*extra*/["range"]){
this["range"] = [
PL$115/*startToken*/["start"],
0
];
};
if(PL$19/*extra*/["loc"]){
this["loc"] = new PL$114/*WrappingSourceLocation*/(PL$115/*startToken*/);
};
;};
function PL$154/*peekLineTerminator*/(){
;
var PL$99/*pos*/;
;
var PL$111/*line*/;
;
var PL$42/*start*/;
;
var PL$155/*found*/;
;
PL$99/*pos*/ = PL$13/*index*/;
PL$111/*line*/ = PL$14/*lineNumber*/;
PL$42/*start*/ = PL$15/*lineStart*/;
PL$50/*skipComment*/();
PL$155/*found*/ = (PL$14/*lineNumber*/ !== PL$111/*line*/);
PL$13/*index*/ = PL$99/*pos*/;
PL$14/*lineNumber*/ = PL$111/*line*/;
PL$15/*lineStart*/ = PL$42/*start*/;
return PL$155/*found*/;
;};
function PL$49/*throwError*/(PL$101/*token*/, PL$156/*messageFormat*/){
var PL$159/*arguments*/ = arguments;
;
var PL$157/*error*/;
;
var PL$131/*args*/ = PL$158/*Array*/["prototype"]["slice"]["call"](PL$159/*arguments*/, 2);
;
var PL$160/*msg*/ = PL$156/*messageFormat*/["replace"](/%(\d)/g, (function(PL$161/*whole*/, PL$13/*index*/){
;
PL$21/*assert*/((PL$13/*index*/ < PL$131/*args*/["length"]), "Message reference must be in range");
return PL$131/*args*/[PL$13/*index*/];
;}));
;
if((typeof PL$101/*token*/["lineNumber"] === "number")){
PL$157/*error*/ = new PL$24/*Error*/(((("Line " + PL$101/*token*/["lineNumber"]) + ": ") + PL$160/*msg*/));
PL$157/*error*/["index"] = PL$101/*token*/["start"];
PL$157/*error*/["lineNumber"] = PL$101/*token*/["lineNumber"];
PL$157/*error*/["column"] = ((PL$101/*token*/["start"] - PL$15/*lineStart*/) + 1);
}else{
PL$157/*error*/ = new PL$24/*Error*/(((("Line " + PL$14/*lineNumber*/) + ": ") + PL$160/*msg*/));
PL$157/*error*/["index"] = PL$13/*index*/;
PL$157/*error*/["lineNumber"] = PL$14/*lineNumber*/;
PL$157/*error*/["column"] = ((PL$13/*index*/ - PL$15/*lineStart*/) + 1);
};
PL$157/*error*/["description"] = PL$160/*msg*/;
throw PL$157/*error*/;
;};
function PL$96/*throwErrorTolerant*/(){
var PL$159/*arguments*/ = arguments;
;
try
{
PL$49/*throwError*/["apply"](null, PL$159/*arguments*/);}catch(PL$89/*e*/){
if(PL$19/*extra*/["errors"]){
PL$19/*extra*/["errors"]["push"](PL$89/*e*/);
}else{
throw PL$89/*e*/;
};};
;};
function PL$162/*throwUnexpected*/(PL$101/*token*/){
;
if((PL$101/*token*/["type"] === PL$3/*Token*/["EOF"])){
PL$49/*throwError*/(PL$101/*token*/, PL$9/*Messages*/["UnexpectedEOS"]);
};
if((PL$101/*token*/["type"] === PL$3/*Token*/["NumericLiteral"])){
PL$49/*throwError*/(PL$101/*token*/, PL$9/*Messages*/["UnexpectedNumber"]);
};
if((PL$101/*token*/["type"] === PL$3/*Token*/["StringLiteral"])){
PL$49/*throwError*/(PL$101/*token*/, PL$9/*Messages*/["UnexpectedString"]);
};
if((PL$101/*token*/["type"] === PL$3/*Token*/["Identifier"])){
PL$49/*throwError*/(PL$101/*token*/, PL$9/*Messages*/["UnexpectedIdentifier"]);
};
if((PL$101/*token*/["type"] === PL$3/*Token*/["Keyword"])){
if(PL$34/*isFutureReservedWord*/(PL$101/*token*/["value"])){
PL$49/*throwError*/(PL$101/*token*/, PL$9/*Messages*/["UnexpectedReserved"]);
}else{
if((PL$12/*strict*/ && PL$36/*isStrictModeReservedWord*/(PL$101/*token*/["value"]))){
PL$96/*throwErrorTolerant*/(PL$101/*token*/, PL$9/*Messages*/["StrictReservedWord"]);
return;
};
};
PL$49/*throwError*/(PL$101/*token*/, PL$9/*Messages*/["UnexpectedToken"], PL$101/*token*/["value"]);
};
PL$49/*throwError*/(PL$101/*token*/, PL$9/*Messages*/["UnexpectedToken"], PL$101/*token*/["value"]);
;};
function PL$163/*expect*/(PL$41/*value*/){
;
var PL$101/*token*/ = PL$109/*lex*/();
;
if(((PL$101/*token*/["type"] !== PL$3/*Token*/["Punctuator"]) || (PL$101/*token*/["value"] !== PL$41/*value*/))){
PL$162/*throwUnexpected*/(PL$101/*token*/);
};
;};
function PL$164/*expectTolerant*/(PL$41/*value*/){
;
if(PL$19/*extra*/["errors"]){
var PL$101/*token*/ = PL$17/*lookahead*/;
;
if(((PL$101/*token*/["type"] !== PL$3/*Token*/["Punctuator"]) && (PL$101/*token*/["value"] !== PL$41/*value*/))){
PL$96/*throwErrorTolerant*/(PL$101/*token*/, PL$9/*Messages*/["UnexpectedToken"], PL$101/*token*/["value"]);
}else{
PL$109/*lex*/();
};
}else{
PL$163/*expect*/(PL$41/*value*/);
};
;};
function PL$165/*expectKeyword*/(PL$166/*keyword*/){
;
var PL$101/*token*/ = PL$109/*lex*/();
;
if(((PL$101/*token*/["type"] !== PL$3/*Token*/["Keyword"]) || (PL$101/*token*/["value"] !== PL$166/*keyword*/))){
PL$162/*throwUnexpected*/(PL$101/*token*/);
};
;};
function PL$167/*match*/(PL$41/*value*/){
;
return ((PL$17/*lookahead*/["type"] === PL$3/*Token*/["Punctuator"]) && (PL$17/*lookahead*/["value"] === PL$41/*value*/));
;};
function PL$168/*matchKeyword*/(PL$166/*keyword*/){
;
return ((PL$17/*lookahead*/["type"] === PL$3/*Token*/["Keyword"]) && (PL$17/*lookahead*/["value"] === PL$166/*keyword*/));
;};
function PL$169/*matchAssign*/(){
;
var PL$170/*op*/;
;
if((PL$17/*lookahead*/["type"] !== PL$3/*Token*/["Punctuator"])){
return false;
};
PL$170/*op*/ = PL$17/*lookahead*/["value"];
return ((((((((((((PL$170/*op*/ === "=") || (PL$170/*op*/ === "*=")) || (PL$170/*op*/ === "/=")) || (PL$170/*op*/ === "%=")) || (PL$170/*op*/ === "+=")) || (PL$170/*op*/ === "-=")) || (PL$170/*op*/ === "<<=")) || (PL$170/*op*/ === ">>=")) || (PL$170/*op*/ === ">>>=")) || (PL$170/*op*/ === "&=")) || (PL$170/*op*/ === "^=")) || (PL$170/*op*/ === "|="));
;};
function PL$171/*consumeSemicolon*/(){
;
var PL$111/*line*/;
;
if(((PL$11/*source*/["charCodeAt"](PL$13/*index*/) === 59) || PL$167/*match*/(";"))){
PL$109/*lex*/();
return;
};
PL$111/*line*/ = PL$14/*lineNumber*/;
PL$50/*skipComment*/();
if((PL$14/*lineNumber*/ !== PL$111/*line*/)){
return;
};
if(((PL$17/*lookahead*/["type"] !== PL$3/*Token*/["EOF"]) && ! PL$167/*match*/("}"))){
PL$162/*throwUnexpected*/(PL$17/*lookahead*/);
};
;};
function PL$172/*isLeftHandSide*/(PL$173/*expr*/){
;
return ((PL$173/*expr*/["type"] === PL$6/*Syntax*/["Identifier"]) || (PL$173/*expr*/["type"] === PL$6/*Syntax*/["MemberExpression"]));
;};
function PL$174/*parseArrayInitialiser*/(){
;
var PL$122/*elements*/ = [
];
;
var PL$175/*node*/ = new PL$116/*Node*/();
;
PL$163/*expect*/("[");
while(! PL$167/*match*/("]")){
{
if(PL$167/*match*/(",")){
PL$109/*lex*/();
PL$122/*elements*/["push"](null);
}else{
PL$122/*elements*/["push"](PL$176/*parseAssignmentExpression*/());
if(! PL$167/*match*/("]")){
PL$163/*expect*/(",");
};
};}};
PL$109/*lex*/();
return PL$175/*node*/["finishArrayExpression"](PL$122/*elements*/);
;};
function PL$177/*parsePropertyFunction*/(PL$132/*param*/, PL$178/*first*/){
;
var PL$179/*previousStrict*/;
;
var PL$94/*body*/;
;
var PL$175/*node*/ = new PL$116/*Node*/();
;
PL$179/*previousStrict*/ = PL$12/*strict*/;
PL$94/*body*/ = PL$180/*parseFunctionSourceElements*/();
if(((PL$178/*first*/ && PL$12/*strict*/) && PL$37/*isRestrictedWord*/(PL$132/*param*/[0]["name"]))){
PL$96/*throwErrorTolerant*/(PL$178/*first*/, PL$9/*Messages*/["StrictParamName"]);
};
PL$12/*strict*/ = PL$179/*previousStrict*/;
return PL$175/*node*/["finishFunctionExpression"](null, PL$132/*param*/, [
], PL$94/*body*/);
;};
function PL$181/*parseObjectPropertyKey*/(){
;
var PL$101/*token*/;
;
var PL$175/*node*/ = new PL$116/*Node*/();
;
PL$101/*token*/ = PL$109/*lex*/();
if(((PL$101/*token*/["type"] === PL$3/*Token*/["StringLiteral"]) || (PL$101/*token*/["type"] === PL$3/*Token*/["NumericLiteral"]))){
if((PL$12/*strict*/ && PL$101/*token*/["octal"])){
PL$96/*throwErrorTolerant*/(PL$101/*token*/, PL$9/*Messages*/["StrictOctalLiteral"]);
};
return PL$175/*node*/["finishLiteral"](PL$101/*token*/);
};
return PL$175/*node*/["finishIdentifier"](PL$101/*token*/["value"]);
;};
function PL$182/*parseObjectProperty*/(){
;
var PL$101/*token*/;
;
var PL$145/*key*/;