thaw-interpreter
Version:
Programming language interpreters, including LISP, Scheme, and Prolog.
1 lines • 398 kB
JavaScript
import{finished as e}from"stream";import{promisify as t}from"util";import{createReadStream as n}from"fs";import{createInterface as r}from"readline";var i,a,o,s,l,m,u,c,h,p,d,k,f,L,g,E,S,b,x,w;!function(e){e[e.UndefinedSymbol=0]="UndefinedSymbol",e[e.Lambda=1]="Lambda",e[e.Dot=2]="Dot",e[e.terminalBegin=3]="terminalBegin",e[e.terminalEnd=4]="terminalEnd",e[e.terminalAssign=5]="terminalAssign",e[e.terminalSemicolon=6]="terminalSemicolon",e[e.terminalRead=7]="terminalRead",e[e.terminalWrite=8]="terminalWrite",e[e.terminalLeftBracket=9]="terminalLeftBracket",e[e.terminalRightBracket=10]="terminalRightBracket",e[e.terminalLeftSquareBracket=11]="terminalLeftSquareBracket",e[e.terminalRightSquareBracket=12]="terminalRightSquareBracket",e[e.terminalOrBar=13]="terminalOrBar",e[e.terminalComma=14]="terminalComma",e[e.terminalID=15]="terminalID",e[e.terminalVariable=16]="terminalVariable",e[e.terminalIntegerLiteral=17]="terminalIntegerLiteral",e[e.terminalFloatLiteral=18]="terminalFloatLiteral",e[e.terminalStringLiteral=19]="terminalStringLiteral",e[e.terminalPlus=20]="terminalPlus",e[e.terminalMinus=21]="terminalMinus",e[e.terminalCond=22]="terminalCond",e[e.terminalLet=23]="terminalLet",e[e.terminalLetStar=24]="terminalLetStar",e[e.terminalDefine=25]="terminalDefine",e[e.terminalIf=26]="terminalIf",e[e.terminalWhile=27]="terminalWhile",e[e.terminalSet=28]="terminalSet",e[e.terminalMultiply=29]="terminalMultiply",e[e.terminalDivide=30]="terminalDivide",e[e.terminalEquals=31]="terminalEquals",e[e.terminalLessThan=32]="terminalLessThan",e[e.terminalGreaterThan=33]="terminalGreaterThan",e[e.terminalPrint=34]="terminalPrint",e[e.terminalCons=35]="terminalCons",e[e.terminalCar=36]="terminalCar",e[e.terminalCdr=37]="terminalCdr",e[e.terminalNumberPred=38]="terminalNumberPred",e[e.terminalSymbolPred=39]="terminalSymbolPred",e[e.terminalListPred=40]="terminalListPred",e[e.terminalNullPred=41]="terminalNullPred",e[e.terminalStringPred=42]="terminalStringPred",e[e.terminalApostrophe=43]="terminalApostrophe",e[e.terminalDot=44]="terminalDot",e[e.terminalList=45]="terminalList",e[e.terminalRplaca=46]="terminalRplaca",e[e.terminalRplacd=47]="terminalRplacd",e[e.terminalDefineMacro=48]="terminalDefineMacro",e[e.terminalQuoteKeyword=49]="terminalQuoteKeyword",e[e.terminalRandom=50]="terminalRandom",e[e.terminalToString=51]="terminalToString",e[e.terminalListToString=52]="terminalListToString",e[e.terminalStringToList=53]="terminalStringToList",e[e.terminalStringToSymbol=54]="terminalStringToSymbol",e[e.terminalSin=55]="terminalSin",e[e.terminalCos=56]="terminalCos",e[e.terminalTan=57]="terminalTan",e[e.terminalPow=58]="terminalPow",e[e.terminalExp=59]="terminalExp",e[e.terminalLn=60]="terminalLn",e[e.terminalFloor=61]="terminalFloor",e[e.terminalAtan2=62]="terminalAtan2",e[e.terminalThrow=63]="terminalThrow",e[e.terminalStringLessThan=64]="terminalStringLessThan",e[e.terminalPrimOpPred=65]="terminalPrimOpPred",e[e.terminalClosurePred=66]="terminalClosurePred",e[e.terminalLambdaKeyword=67]="terminalLambdaKeyword",e[e.terminalLetRec=68]="terminalLetRec",e[e.terminalCallCC=69]="terminalCallCC",e[e.terminalNameBeginningWithCapital=70]="terminalNameBeginningWithCapital",e[e.terminalNameNotBeginningWithCapital=71]="terminalNameNotBeginningWithCapital",e[e.terminalFrom=72]="terminalFrom",e[e.terminalInferPred=73]="terminalInferPred",e[e.terminalNotSymbol=74]="terminalNotSymbol",e[e.terminalIs=75]="terminalIs",e[e.terminalLessOrEqual=76]="terminalLessOrEqual",e[e.terminalGreaterOrEqual=77]="terminalGreaterOrEqual",e[e.terminalNotEqual=78]="terminalNotEqual",e[e.terminalArithmeticEqual=79]="terminalArithmeticEqual",e[e.terminalArithmeticNotEqual=80]="terminalArithmeticNotEqual",e[e.terminalUnifiable=81]="terminalUnifiable",e[e.terminalNotUnifiable=82]="terminalNotUnifiable",e[e.terminalIfThen=83]="terminalIfThen",e[e.terminalColon=84]="terminalColon",e[e.terminalDCGArrow=85]="terminalDCGArrow",e[e.terminalUniv=86]="terminalUniv",e[e.terminalCaret=87]="terminalCaret",e[e.terminalFn=88]="terminalFn",e[e.terminalThickArrow=89]="terminalThickArrow",e[e.terminalIn=90]="terminalIn",e[e.terminalTrue=91]="terminalTrue",e[e.terminalFalse=92]="terminalFalse",e[e.terminalComb=93]="terminalComb",e[e.terminalInc=94]="terminalInc",e[e.terminalDec=95]="terminalDec",e[e.terminalAnd=96]="terminalAnd",e[e.terminalOr=97]="terminalOr",e[e.terminalIsZero=98]="terminalIsZero",e[e.terminalNil=99]="terminalNil",e[e.terminalOctothorpe=100]="terminalOctothorpe",e[e.terminalDollar=101]="terminalDollar",e[e.terminalClass=102]="terminalClass",e[e.terminalObjectPred=103]="terminalObjectPred",e[e.terminalStrlen=104]="terminalStrlen",e[e.terminalSubstr=105]="terminalSubstr",e[e.terminalTypename=106]="terminalTypename",e[e.terminalStrcat=107]="terminalStrcat",e[e.terminalNewArray=108]="terminalNewArray",e[e.terminalArrayLength=109]="terminalArrayLength",e[e.terminalArrayGet=110]="terminalArrayGet",e[e.terminalArraySet=111]="terminalArraySet",e[e.terminalArrayPred=112]="terminalArrayPred",e[e.terminalCharPred=113]="terminalCharPred",e[e.terminalStringIndex=114]="terminalStringIndex",e[e.terminalVectorConst=115]="terminalVectorConst",e[e.terminalMax=116]="terminalMax",e[e.terminalPlusSlash=117]="terminalPlusSlash",e[e.terminalMinusSlash=118]="terminalMinusSlash",e[e.terminalMultiplySlash=119]="terminalMultiplySlash",e[e.terminalDivideSlash=120]="terminalDivideSlash",e[e.terminalMaxSlash=121]="terminalMaxSlash",e[e.terminalOrSlash=122]="terminalOrSlash",e[e.terminalAndSlash=123]="terminalAndSlash",e[e.terminalCompress=124]="terminalCompress",e[e.terminalShape=125]="terminalShape",e[e.terminalRavel=126]="terminalRavel",e[e.terminalRestruct=127]="terminalRestruct",e[e.terminalCat=128]="terminalCat",e[e.terminalIndx=129]="terminalIndx",e[e.terminalTrans=130]="terminalTrans",e[e.terminalSquareBrackets=131]="terminalSquareBrackets",e[e.terminalDoubleSubscripting=132]="terminalDoubleSubscripting",e[e.terminalCluster=133]="terminalCluster",e[e.terminalRep=134]="terminalRep",e[e.terminalExport=135]="terminalExport",e[e.terminalThen=136]="terminalThen",e[e.terminalElse=137]="terminalElse",e[e.terminalCall=138]="terminalCall",e[e.terminalTypeBoolean=139]="terminalTypeBoolean",e[e.terminalTypeByte=140]="terminalTypeByte",e[e.terminalTypeClosure=141]="terminalTypeClosure",e[e.terminalTypeInteger=142]="terminalTypeInteger",e[e.terminalTypeFloatingPoint=143]="terminalTypeFloatingPoint",e[e.terminalTypeList=144]="terminalTypeList",e[e.terminalTypeMap=145]="terminalTypeMap",e[e.terminalTypeString=146]="terminalTypeString",e[e.terminalModulus=147]="terminalModulus",e[e.terminalMapGet=148]="terminalMapGet",e[e.terminalMapSet=149]="terminalMapSet",e[e.terminalAsync=150]="terminalAsync",e[e.terminalPlusEqual=151]="terminalPlusEqual",e[e.terminalMinusEqual=152]="terminalMinusEqual",e[e.terminalMultiplyEqual=153]="terminalMultiplyEqual",e[e.terminalDivideEqual=154]="terminalDivideEqual",e[e.terminalModulusEqual=155]="terminalModulusEqual",e[e.terminalLeftCurlyBrace=156]="terminalLeftCurlyBrace",e[e.terminalRightCurlyBrace=157]="terminalRightCurlyBrace",e[e.terminalDo=158]="terminalDo",e[e.terminalForEach=159]="terminalForEach",e[e.terminalDeclare=160]="terminalDeclare",e[e.terminalBooleanPred=161]="terminalBooleanPred",e[e.terminalMapPred=162]="terminalMapPred",e[e.terminalPairPred=163]="terminalPairPred",e[e.terminalLogicalNot=164]="terminalLogicalNot",e[e.terminalBitwiseAnd=165]="terminalBitwiseAnd",e[e.terminalBitwiseOr=166]="terminalBitwiseOr",e[e.terminalBitwiseXor=167]="terminalBitwiseXor",e[e.terminalBitwiseNot=168]="terminalBitwiseNot",e[e.terminalBitwiseShiftLeft=169]="terminalBitwiseShiftLeft",e[e.terminalBitwiseShiftRight=170]="terminalBitwiseShiftRight",e[e.terminalBitwiseAndEqual=171]="terminalBitwiseAndEqual",e[e.terminalBitwiseOrEqual=172]="terminalBitwiseOrEqual",e[e.terminalBitwiseXorEqual=173]="terminalBitwiseXorEqual",e[e.terminalBitwiseShiftLeftEqual=174]="terminalBitwiseShiftLeftEqual",e[e.terminalBitwiseShiftRightEqual=175]="terminalBitwiseShiftRightEqual",e[e.terminalIncrement=176]="terminalIncrement",e[e.terminalDecrement=177]="terminalDecrement",e[e.terminalQuestionMark=178]="terminalQuestionMark",e[e.terminalColonColon=179]="terminalColonColon",e[e.terminalEOF=180]="terminalEOF",e[e.nonterminalStart=181]="nonterminalStart",e[e.nonterminalProgram=182]="nonterminalProgram",e[e.nonterminalStatementList=183]="nonterminalStatementList",e[e.nonterminalStatementTail=184]="nonterminalStatementTail",e[e.nonterminalStatement=185]="nonterminalStatement",e[e.nonterminalIDList=186]="nonterminalIDList",e[e.nonterminalIDTail=187]="nonterminalIDTail",e[e.nonterminalExprList=188]="nonterminalExprList",e[e.nonterminalExprTail=189]="nonterminalExprTail",e[e.nonterminalExpression=190]="nonterminalExpression",e[e.nonterminalTerm=191]="nonterminalTerm",e[e.nonterminalPrimaryTail=192]="nonterminalPrimaryTail",e[e.nonterminalPrimary=193]="nonterminalPrimary",e[e.nonterminalAddOp=194]="nonterminalAddOp",e[e.nonterminalBracketedEntity=195]="nonterminalBracketedEntity",e[e.nonterminalInput=196]="nonterminalInput",e[e.nonterminalFunDef=197]="nonterminalFunDef",e[e.nonterminalFunction=198]="nonterminalFunction",e[e.nonterminalArgList=199]="nonterminalArgList",e[e.nonterminalVariableList=200]="nonterminalVariableList",e[e.nonterminalVariable=201]="nonterminalVariable",e[e.nonterminalValue=202]="nonterminalValue",e[e.nonterminalBracketedExpression=203]="nonterminalBracketedExpression",e[e.nonterminalExpressionList=204]="nonterminalExpressionList",e[e.nonterminalOptr=205]="nonterminalOptr",e[e.nonterminalValueOp=206]="nonterminalValueOp",e[e.nonterminalQuotedConst=207]="nonterminalQuotedConst",e[e.nonterminalSExpression=208]="nonterminalSExpression",e[e.nonterminalSExpressionList=209]="nonterminalSExpressionList",e[e.nonterminalSymbol=210]="nonterminalSymbol",e[e.nonterminalMacroDef=211]="nonterminalMacroDef",e[e.nonterminalExprPairList=212]="nonterminalExprPairList",e[e.nonterminalLetKeyword=213]="nonterminalLetKeyword",e[e.nonterminalVarExprList=214]="nonterminalVarExprList",e[e.nonterminalBracketedInput=215]="nonterminalBracketedInput",e[e.nonterminalUnbracketedInput=216]="nonterminalUnbracketedInput",e[e.nonterminalSExpressionListTail=217]="nonterminalSExpressionListTail",e[e.nonterminalClause=218]="nonterminalClause",e[e.nonterminalQuery=219]="nonterminalQuery",e[e.nonterminalGoal=220]="nonterminalGoal",e[e.nonterminalClauseTail=221]="nonterminalClauseTail",e[e.nonterminalGoalList=222]="nonterminalGoalList",e[e.nonterminalGoalListTail=223]="nonterminalGoalListTail",e[e.nonterminalList=224]="nonterminalList",e[e.nonterminalListContents=225]="nonterminalListContents",e[e.nonterminalListContentsTail=226]="nonterminalListContentsTail",e[e.nonterminalFunctorExpression=227]="nonterminalFunctorExpression",e[e.nonterminalTailOfGoalOrFunctorExpression=228]="nonterminalTailOfGoalOrFunctorExpression",e[e.nonterminalExpressionListTail=229]="nonterminalExpressionListTail",e[e.nonterminalGoalTail1=230]="nonterminalGoalTail1",e[e.nonterminalVariableOrNumericLiteral=231]="nonterminalVariableOrNumericLiteral",e[e.nonterminalLambdaExpression=232]="nonterminalLambdaExpression",e[e.nonterminalLetStatement=233]="nonterminalLetStatement",e[e.nonterminalFunctionCall=234]="nonterminalFunctionCall",e[e.nonterminalAfterVariable=235]="nonterminalAfterVariable",e[e.nonterminalClassDef=236]="nonterminalClassDef",e[e.nonterminalClass=237]="nonterminalClass",e[e.nonterminalInstVars=238]="nonterminalInstVars",e[e.nonterminalMethodDef=239]="nonterminalMethodDef",e[e.nonterminalMethodDefList=240]="nonterminalMethodDefList",e[e.nonterminalLiteralList=241]="nonterminalLiteralList",e[e.nonterminalVectorConst=242]="nonterminalVectorConst",e[e.nonterminalIntegerLiteralList=243]="nonterminalIntegerLiteralList",e[e.nonterminalClusterDef=244]="nonterminalClusterDef",e[e.nonterminalRep=245]="nonterminalRep",e[e.nonterminalFunDefList=246]="nonterminalFunDefList",e[e.nonterminalOnePartName=247]="nonterminalOnePartName",e[e.nonterminalOnePartNameTail=248]="nonterminalOnePartNameTail",e[e.nonterminalExportList=249]="nonterminalExportList",e[e.nonterminalOnePartNameList=250]="nonterminalOnePartNameList",e[e.nonterminalArithmeticExpression=251]="nonterminalArithmeticExpression",e[e.nonterminalArithmeticExpression0=252]="nonterminalArithmeticExpression0",e[e.nonterminalArithmeticExpression1=253]="nonterminalArithmeticExpression1",e[e.nonterminalArithmeticExpression2=254]="nonterminalArithmeticExpression2",e[e.nonterminalArithmeticExpression3=255]="nonterminalArithmeticExpression3",e[e.nonterminalArithmeticExpression4=256]="nonterminalArithmeticExpression4",e[e.nonterminalArithmeticExpression5=257]="nonterminalArithmeticExpression5",e[e.nonterminalArithmeticExpression6=258]="nonterminalArithmeticExpression6",e[e.nonterminalArithmeticExpression7=259]="nonterminalArithmeticExpression7",e[e.nonterminalArithmeticExpression8=260]="nonterminalArithmeticExpression8",e[e.nonterminalArithmeticExpression9=261]="nonterminalArithmeticExpression9",e[e.nonterminalArithmeticExpression10=262]="nonterminalArithmeticExpression10",e[e.nonterminalArithmeticExpression11=263]="nonterminalArithmeticExpression11",e[e.nonterminalArithmeticExpression12=264]="nonterminalArithmeticExpression12",e[e.nonterminalArithmeticExpression13=265]="nonterminalArithmeticExpression13",e[e.nonterminalArithmeticExpression14=266]="nonterminalArithmeticExpression14",e[e.nonterminalArithmeticExpression15=267]="nonterminalArithmeticExpression15",e[e.nonterminalArithmeticOperator=268]="nonterminalArithmeticOperator",e[e.nonterminalArithmeticOperator1=269]="nonterminalArithmeticOperator1",e[e.nonterminalArithmeticOperator2=270]="nonterminalArithmeticOperator2",e[e.nonterminalArithmeticOperator3=271]="nonterminalArithmeticOperator3",e[e.nonterminalArithmeticOperator4=272]="nonterminalArithmeticOperator4",e[e.nonterminalArithmeticOperator5=273]="nonterminalArithmeticOperator5",e[e.nonterminalArithmeticOperator6=274]="nonterminalArithmeticOperator6",e[e.nonterminalArithmeticOperator7=275]="nonterminalArithmeticOperator7",e[e.nonterminalArithmeticOperator8=276]="nonterminalArithmeticOperator8",e[e.nonterminalArithmeticOperator9=277]="nonterminalArithmeticOperator9",e[e.nonterminalArithmeticOperator10=278]="nonterminalArithmeticOperator10",e[e.nonterminalArithmeticOperator11=279]="nonterminalArithmeticOperator11",e[e.nonterminalArithmeticOperator12=280]="nonterminalArithmeticOperator12",e[e.nonterminalArithmeticOperator13=281]="nonterminalArithmeticOperator13",e[e.nonterminalArithmeticOperator14=282]="nonterminalArithmeticOperator14",e[e.nonterminalArithmeticOperator15=283]="nonterminalArithmeticOperator15",e[e.nonterminalArithmeticComparisonOperator=284]="nonterminalArithmeticComparisonOperator",e[e.nonterminalActualParameterList=285]="nonterminalActualParameterList",e[e.nonterminalFormalParameterList=286]="nonterminalFormalParameterList",e[e.nonterminalCommaSeparatedVariableList=287]="nonterminalCommaSeparatedVariableList",e[e.nonterminalCommaSeparatedExpressionList=288]="nonterminalCommaSeparatedExpressionList",e[e.nonterminalTypeName=289]="nonterminalTypeName",e[e.nonterminalTypeExpression=290]="nonterminalTypeExpression",e[e.nonterminalTypeParameterized=291]="nonterminalTypeParameterized",e[e.nonterminalOptionalElseBlock=292]="nonterminalOptionalElseBlock",e[e.nonterminalNonEmptyExpressionList=293]="nonterminalNonEmptyExpressionList",e[e.nonterminalLValue=294]="nonterminalLValue",e[e.nonterminalAssignmentOperator=295]="nonterminalAssignmentOperator",e[e.nonterminalBlock=296]="nonterminalBlock",e[e.nonterminalDeclarationPartOfBlock=297]="nonterminalDeclarationPartOfBlock",e[e.nonterminalDeclaration=298]="nonterminalDeclaration",e[e.nonterminalDeclarationList=299]="nonterminalDeclarationList",e[e.nonterminalValueList=300]="nonterminalValueList",e[e.nonterminalValueListTail=301]="nonterminalValueListTail"}(i||(i={})),function(e){e[e.MinimalLanguage=0]="MinimalLanguage",e[e.Micro=1]="Micro",e[e.Chapter1=2]="Chapter1",e[e.LISP=3]="LISP",e[e.APL=4]="APL",e[e.Scheme=5]="Scheme",e[e.SASL=6]="SASL",e[e.CLU=7]="CLU",e[e.Smalltalk=8]="Smalltalk",e[e.Prolog=9]="Prolog",e[e.Prolog2=10]="Prolog2",e[e.Inference=11]="Inference",e[e.JSON=12]="JSON",e[e.EcstaSKI=13]="EcstaSKI",e[e.Adso=14]="Adso",e[e.LambdaCalculus=15]="LambdaCalculus",e[e.LambdaCalculusWithAugmentedSyntax=16]="LambdaCalculusWithAugmentedSyntax",e[e.LambdaCalculusIntegerExtension=17]="LambdaCalculusIntegerExtension",e[e.C=18]="C",e[e.N1=19]="N1",e[e.Arithmetic=20]="Arithmetic",e[e.Fxx=21]="Fxx",e[e.Protos=22]="Protos"}(a||(a={})),function(e){e[e.MidnightHack=1]="MidnightHack",e[e.FiniteStateMachine=2]="FiniteStateMachine"}(o||(o={})),function(e){e[e.tokenNone=1]="tokenNone",e[e.tokenIntLit=2]="tokenIntLit",e[e.tokenFltLit=3]="tokenFltLit",e[e.tokenStrLit=4]="tokenStrLit",e[e.tokenStrLit2=5]="tokenStrLit2",e[e.tokenIdent=6]="tokenIdent",e[e.tokenBoolIdent=7]="tokenBoolIdent",e[e.tokenSkolemIdent=8]="tokenSkolemIdent",e[e.tokenVariable=9]="tokenVariable",e[e.tokenPlus=10]="tokenPlus",e[e.tokenMinus=11]="tokenMinus",e[e.tokenMult=12]="tokenMult",e[e.tokenDiv=13]="tokenDiv",e[e.tokenEqual=14]="tokenEqual",e[e.tokenNotEqual=15]="tokenNotEqual",e[e.tokenLess=16]="tokenLess",e[e.tokenLessEqual=17]="tokenLessEqual",e[e.tokenGreater=18]="tokenGreater",e[e.tokenGreaterEqual=19]="tokenGreaterEqual",e[e.tokenSemicolon=20]="tokenSemicolon",e[e.tokenComma=21]="tokenComma",e[e.token2OrBar=22]="token2OrBar",e[e.token2Ampersand=23]="token2Ampersand",e[e.tokenLeftBracket=24]="tokenLeftBracket",e[e.tokenRightBracket=25]="tokenRightBracket",e[e.tokenAssign=26]="tokenAssign",e[e.tokenArrow=27]="tokenArrow",e[e.tokenThickArrow=28]="tokenThickArrow",e[e.tokenExclamation=29]="tokenExclamation",e[e.tokenApostrophe=30]="tokenApostrophe",e[e.tokenOctothorpe=31]="tokenOctothorpe",e[e.tokenDollar=32]="tokenDollar",e[e.tokenDot=33]="tokenDot",e[e.tokenLeftSquareBracket=34]="tokenLeftSquareBracket",e[e.tokenRightSquareBracket=35]="tokenRightSquareBracket",e[e.tokenOrBar=36]="tokenOrBar",e[e.tokenAmpersand=37]="tokenAmpersand",e[e.tokenColon=38]="tokenColon",e[e.tokenLeftCurlyBrace=39]="tokenLeftCurlyBrace",e[e.tokenRightCurlyBrace=40]="tokenRightCurlyBrace",e[e.tokenQuoteKeyword=41]="tokenQuoteKeyword",e[e.tokenQuestionMinus=42]="tokenQuestionMinus",e[e.tokenColonMinus=43]="tokenColonMinus",e[e.tokenEqualLessThan=44]="tokenEqualLessThan",e[e.tokenBackslashPlus=45]="tokenBackslashPlus",e[e.tokenBackslashEqual=46]="tokenBackslashEqual",e[e.tokenEqualEqual=47]="tokenEqualEqual",e[e.tokenBackslashEqualEqual=48]="tokenBackslashEqualEqual",e[e.tokenEqualColonEqual=49]="tokenEqualColonEqual",e[e.tokenEqualBackslashEqual=50]="tokenEqualBackslashEqual",e[e.tokenMinusMinusGreaterThan=51]="tokenMinusMinusGreaterThan",e[e.tokenEqualDotDot=52]="tokenEqualDotDot",e[e.tokenCaret=53]="tokenCaret",e[e.tokenTilde=54]="tokenTilde",e[e.tokenLowercaseGreekLetterLambda=55]="tokenLowercaseGreekLetterLambda",e[e.tokenPercent=56]="tokenPercent",e[e.tokenPlusEqual=57]="tokenPlusEqual",e[e.tokenMinusEqual=58]="tokenMinusEqual",e[e.tokenMultEqual=59]="tokenMultEqual",e[e.tokenDivEqual=60]="tokenDivEqual",e[e.tokenPercentEqual=61]="tokenPercentEqual",e[e.tokenForAll=62]="tokenForAll",e[e.tokenThereExists=63]="tokenThereExists",e[e.tokenThereDoesNotExist=64]="tokenThereDoesNotExist",e[e.tokenEmptySet=65]="tokenEmptySet",e[e.tokenIsAnElementOf=66]="tokenIsAnElementOf",e[e.tokenIntersection=67]="tokenIntersection",e[e.tokenUnion=68]="tokenUnion",e[e.tokenIsASubsetOf=69]="tokenIsASubsetOf",e[e.tokenIsAProperSubsetOf=70]="tokenIsAProperSubsetOf",e[e.tokenBitwiseShiftLeft=71]="tokenBitwiseShiftLeft",e[e.tokenBitwiseShiftRight=72]="tokenBitwiseShiftRight",e[e.tokenBitwiseAndEqual=73]="tokenBitwiseAndEqual",e[e.tokenBitwiseOrEqual=74]="tokenBitwiseOrEqual",e[e.tokenBitwiseXorEqual=75]="tokenBitwiseXorEqual",e[e.tokenBitwiseShiftLeftEqual=76]="tokenBitwiseShiftLeftEqual",e[e.tokenBitwiseShiftRightEqual=77]="tokenBitwiseShiftRightEqual",e[e.tokenPlusPlus=78]="tokenPlusPlus",e[e.tokenMinusMinus=79]="tokenMinusMinus",e[e.tokenQuestionMark=80]="tokenQuestionMark",e[e.tokenColonColon=81]="tokenColonColon",e[e.tokenEOF=82]="tokenEOF",e[e.stateStart=83]="stateStart",e[e.stateError=84]="stateError",e[e.stateStrLitOpen=85]="stateStrLitOpen",e[e.stateStrLit2Open=86]="stateStrLit2Open",e[e.stateIntLitDot=87]="stateIntLitDot",e[e.stateQuestion=88]="stateQuestion",e[e.stateAmpersand=89]="stateAmpersand",e[e.stateAt=90]="stateAt",e[e.stateDollar=91]="stateDollar",e[e.stateBackslash=92]="stateBackslash",e[e.stateEqualColon=93]="stateEqualColon",e[e.stateEqualBackslash=94]="stateEqualBackslash",e[e.stateMinusMinus=95]="stateMinusMinus",e[e.stateEqualDot=96]="stateEqualDot"}(s||(s={})),function(e){e[e.LL1=0]="LL1",e[e.LR0=1]="LR0",e[e.LR1=2]="LR1",e[e.SLR1=3]="SLR1",e[e.LALR1=4]="LALR1"}(l||(l={}));class y extends Error{constructor(e,t,n=0,r=0){const i=`${e}${n>0&&r>0?` at line ${n}, column ${r}`:""}: ${t}`;super(i),this.str=i,this.line=n,this.column=r}toString(){return this.str}}class A extends y{constructor(e,t,n=0,r=0){super("ArgumentException",e,n,r),this.argumentName=t,this.argumentName=t}}!function(e){e[e.UndefinedSymbol=0]="UndefinedSymbol",e[e.Lambda=1]="Lambda",e[e.Dot=2]="Dot",e[e.terminalBegin=3]="terminalBegin",e[e.terminalEnd=4]="terminalEnd",e[e.terminalAssign=5]="terminalAssign",e[e.terminalSemicolon=6]="terminalSemicolon",e[e.terminalRead=7]="terminalRead",e[e.terminalWrite=8]="terminalWrite",e[e.terminalLeftBracket=9]="terminalLeftBracket",e[e.terminalRightBracket=10]="terminalRightBracket",e[e.terminalLeftSquareBracket=11]="terminalLeftSquareBracket",e[e.terminalRightSquareBracket=12]="terminalRightSquareBracket",e[e.terminalOrBar=13]="terminalOrBar",e[e.terminalComma=14]="terminalComma",e[e.terminalID=15]="terminalID",e[e.terminalVariable=16]="terminalVariable",e[e.terminalIntegerLiteral=17]="terminalIntegerLiteral",e[e.terminalFloatLiteral=18]="terminalFloatLiteral",e[e.terminalStringLiteral=19]="terminalStringLiteral",e[e.terminalPlus=20]="terminalPlus",e[e.terminalMinus=21]="terminalMinus",e[e.terminalCond=22]="terminalCond",e[e.terminalLet=23]="terminalLet",e[e.terminalLetStar=24]="terminalLetStar",e[e.terminalDefine=25]="terminalDefine",e[e.terminalIf=26]="terminalIf",e[e.terminalWhile=27]="terminalWhile",e[e.terminalSet=28]="terminalSet",e[e.terminalMultiply=29]="terminalMultiply",e[e.terminalDivide=30]="terminalDivide",e[e.terminalEquals=31]="terminalEquals",e[e.terminalLessThan=32]="terminalLessThan",e[e.terminalGreaterThan=33]="terminalGreaterThan",e[e.terminalPrint=34]="terminalPrint",e[e.terminalCons=35]="terminalCons",e[e.terminalCar=36]="terminalCar",e[e.terminalCdr=37]="terminalCdr",e[e.terminalNumberPred=38]="terminalNumberPred",e[e.terminalSymbolPred=39]="terminalSymbolPred",e[e.terminalListPred=40]="terminalListPred",e[e.terminalNullPred=41]="terminalNullPred",e[e.terminalStringPred=42]="terminalStringPred",e[e.terminalApostrophe=43]="terminalApostrophe",e[e.terminalDot=44]="terminalDot",e[e.terminalList=45]="terminalList",e[e.terminalRplaca=46]="terminalRplaca",e[e.terminalRplacd=47]="terminalRplacd",e[e.terminalDefineMacro=48]="terminalDefineMacro",e[e.terminalQuoteKeyword=49]="terminalQuoteKeyword",e[e.terminalRandom=50]="terminalRandom",e[e.terminalToString=51]="terminalToString",e[e.terminalListToString=52]="terminalListToString",e[e.terminalStringToList=53]="terminalStringToList",e[e.terminalStringToSymbol=54]="terminalStringToSymbol",e[e.terminalSin=55]="terminalSin",e[e.terminalCos=56]="terminalCos",e[e.terminalTan=57]="terminalTan",e[e.terminalPow=58]="terminalPow",e[e.terminalExp=59]="terminalExp",e[e.terminalLn=60]="terminalLn",e[e.terminalFloor=61]="terminalFloor",e[e.terminalAtan2=62]="terminalAtan2",e[e.terminalThrow=63]="terminalThrow",e[e.terminalStringLessThan=64]="terminalStringLessThan",e[e.terminalPrimOpPred=65]="terminalPrimOpPred",e[e.terminalClosurePred=66]="terminalClosurePred",e[e.terminalLambdaKeyword=67]="terminalLambdaKeyword",e[e.terminalLetRec=68]="terminalLetRec",e[e.terminalCallCC=69]="terminalCallCC",e[e.terminalNameBeginningWithCapital=70]="terminalNameBeginningWithCapital",e[e.terminalNameNotBeginningWithCapital=71]="terminalNameNotBeginningWithCapital",e[e.terminalFrom=72]="terminalFrom",e[e.terminalInferPred=73]="terminalInferPred",e[e.terminalNotSymbol=74]="terminalNotSymbol",e[e.terminalIs=75]="terminalIs",e[e.terminalLessOrEqual=76]="terminalLessOrEqual",e[e.terminalGreaterOrEqual=77]="terminalGreaterOrEqual",e[e.terminalNotEqual=78]="terminalNotEqual",e[e.terminalArithmeticEqual=79]="terminalArithmeticEqual",e[e.terminalArithmeticNotEqual=80]="terminalArithmeticNotEqual",e[e.terminalUnifiable=81]="terminalUnifiable",e[e.terminalNotUnifiable=82]="terminalNotUnifiable",e[e.terminalIfThen=83]="terminalIfThen",e[e.terminalColon=84]="terminalColon",e[e.terminalDCGArrow=85]="terminalDCGArrow",e[e.terminalUniv=86]="terminalUniv",e[e.terminalCaret=87]="terminalCaret",e[e.terminalFn=88]="terminalFn",e[e.terminalThickArrow=89]="terminalThickArrow",e[e.terminalIn=90]="terminalIn",e[e.terminalTrue=91]="terminalTrue",e[e.terminalFalse=92]="terminalFalse",e[e.terminalComb=93]="terminalComb",e[e.terminalInc=94]="terminalInc",e[e.terminalDec=95]="terminalDec",e[e.terminalAnd=96]="terminalAnd",e[e.terminalOr=97]="terminalOr",e[e.terminalIsZero=98]="terminalIsZero",e[e.terminalNil=99]="terminalNil",e[e.terminalOctothorpe=100]="terminalOctothorpe",e[e.terminalDollar=101]="terminalDollar",e[e.terminalClass=102]="terminalClass",e[e.terminalObjectPred=103]="terminalObjectPred",e[e.terminalStrlen=104]="terminalStrlen",e[e.terminalSubstr=105]="terminalSubstr",e[e.terminalTypename=106]="terminalTypename",e[e.terminalStrcat=107]="terminalStrcat",e[e.terminalNewArray=108]="terminalNewArray",e[e.terminalArrayLength=109]="terminalArrayLength",e[e.terminalArrayGet=110]="terminalArrayGet",e[e.terminalArraySet=111]="terminalArraySet",e[e.terminalArrayPred=112]="terminalArrayPred",e[e.terminalCharPred=113]="terminalCharPred",e[e.terminalStringIndex=114]="terminalStringIndex",e[e.terminalVectorConst=115]="terminalVectorConst",e[e.terminalMax=116]="terminalMax",e[e.terminalPlusSlash=117]="terminalPlusSlash",e[e.terminalMinusSlash=118]="terminalMinusSlash",e[e.terminalMultiplySlash=119]="terminalMultiplySlash",e[e.terminalDivideSlash=120]="terminalDivideSlash",e[e.terminalMaxSlash=121]="terminalMaxSlash",e[e.terminalOrSlash=122]="terminalOrSlash",e[e.terminalAndSlash=123]="terminalAndSlash",e[e.terminalCompress=124]="terminalCompress",e[e.terminalShape=125]="terminalShape",e[e.terminalRavel=126]="terminalRavel",e[e.terminalRestruct=127]="terminalRestruct",e[e.terminalCat=128]="terminalCat",e[e.terminalIndx=129]="terminalIndx",e[e.terminalTrans=130]="terminalTrans",e[e.terminalSquareBrackets=131]="terminalSquareBrackets",e[e.terminalDoubleSubscripting=132]="terminalDoubleSubscripting",e[e.terminalCluster=133]="terminalCluster",e[e.terminalRep=134]="terminalRep",e[e.terminalExport=135]="terminalExport",e[e.terminalThen=136]="terminalThen",e[e.terminalElse=137]="terminalElse",e[e.terminalCall=138]="terminalCall",e[e.terminalTypeBoolean=139]="terminalTypeBoolean",e[e.terminalTypeByte=140]="terminalTypeByte",e[e.terminalTypeClosure=141]="terminalTypeClosure",e[e.terminalTypeInteger=142]="terminalTypeInteger",e[e.terminalTypeFloatingPoint=143]="terminalTypeFloatingPoint",e[e.terminalTypeList=144]="terminalTypeList",e[e.terminalTypeMap=145]="terminalTypeMap",e[e.terminalTypeString=146]="terminalTypeString",e[e.terminalModulus=147]="terminalModulus",e[e.terminalMapGet=148]="terminalMapGet",e[e.terminalMapSet=149]="terminalMapSet",e[e.terminalAsync=150]="terminalAsync",e[e.terminalPlusEqual=151]="terminalPlusEqual",e[e.terminalMinusEqual=152]="terminalMinusEqual",e[e.terminalMultiplyEqual=153]="terminalMultiplyEqual",e[e.terminalDivideEqual=154]="terminalDivideEqual",e[e.terminalModulusEqual=155]="terminalModulusEqual",e[e.terminalLeftCurlyBrace=156]="terminalLeftCurlyBrace",e[e.terminalRightCurlyBrace=157]="terminalRightCurlyBrace",e[e.terminalDo=158]="terminalDo",e[e.terminalForEach=159]="terminalForEach",e[e.terminalDeclare=160]="terminalDeclare",e[e.terminalBooleanPred=161]="terminalBooleanPred",e[e.terminalMapPred=162]="terminalMapPred",e[e.terminalPairPred=163]="terminalPairPred",e[e.terminalLogicalNot=164]="terminalLogicalNot",e[e.terminalBitwiseAnd=165]="terminalBitwiseAnd",e[e.terminalBitwiseOr=166]="terminalBitwiseOr",e[e.terminalBitwiseXor=167]="terminalBitwiseXor",e[e.terminalBitwiseNot=168]="terminalBitwiseNot",e[e.terminalBitwiseShiftLeft=169]="terminalBitwiseShiftLeft",e[e.terminalBitwiseShiftRight=170]="terminalBitwiseShiftRight",e[e.terminalBitwiseAndEqual=171]="terminalBitwiseAndEqual",e[e.terminalBitwiseOrEqual=172]="terminalBitwiseOrEqual",e[e.terminalBitwiseXorEqual=173]="terminalBitwiseXorEqual",e[e.terminalBitwiseShiftLeftEqual=174]="terminalBitwiseShiftLeftEqual",e[e.terminalBitwiseShiftRightEqual=175]="terminalBitwiseShiftRightEqual",e[e.terminalIncrement=176]="terminalIncrement",e[e.terminalDecrement=177]="terminalDecrement",e[e.terminalQuestionMark=178]="terminalQuestionMark",e[e.terminalColonColon=179]="terminalColonColon",e[e.terminalEOF=180]="terminalEOF",e[e.nonterminalStart=181]="nonterminalStart",e[e.nonterminalProgram=182]="nonterminalProgram",e[e.nonterminalStatementList=183]="nonterminalStatementList",e[e.nonterminalStatementTail=184]="nonterminalStatementTail",e[e.nonterminalStatement=185]="nonterminalStatement",e[e.nonterminalIDList=186]="nonterminalIDList",e[e.nonterminalIDTail=187]="nonterminalIDTail",e[e.nonterminalExprList=188]="nonterminalExprList",e[e.nonterminalExprTail=189]="nonterminalExprTail",e[e.nonterminalExpression=190]="nonterminalExpression",e[e.nonterminalTerm=191]="nonterminalTerm",e[e.nonterminalPrimaryTail=192]="nonterminalPrimaryTail",e[e.nonterminalPrimary=193]="nonterminalPrimary",e[e.nonterminalAddOp=194]="nonterminalAddOp",e[e.nonterminalBracketedEntity=195]="nonterminalBracketedEntity",e[e.nonterminalInput=196]="nonterminalInput",e[e.nonterminalFunDef=197]="nonterminalFunDef",e[e.nonterminalFunction=198]="nonterminalFunction",e[e.nonterminalArgList=199]="nonterminalArgList",e[e.nonterminalVariableList=200]="nonterminalVariableList",e[e.nonterminalVariable=201]="nonterminalVariable",e[e.nonterminalValue=202]="nonterminalValue",e[e.nonterminalBracketedExpression=203]="nonterminalBracketedExpression",e[e.nonterminalExpressionList=204]="nonterminalExpressionList",e[e.nonterminalOptr=205]="nonterminalOptr",e[e.nonterminalValueOp=206]="nonterminalValueOp",e[e.nonterminalQuotedConst=207]="nonterminalQuotedConst",e[e.nonterminalSExpression=208]="nonterminalSExpression",e[e.nonterminalSExpressionList=209]="nonterminalSExpressionList",e[e.nonterminalSymbol=210]="nonterminalSymbol",e[e.nonterminalMacroDef=211]="nonterminalMacroDef",e[e.nonterminalExprPairList=212]="nonterminalExprPairList",e[e.nonterminalLetKeyword=213]="nonterminalLetKeyword",e[e.nonterminalVarExprList=214]="nonterminalVarExprList",e[e.nonterminalBracketedInput=215]="nonterminalBracketedInput",e[e.nonterminalUnbracketedInput=216]="nonterminalUnbracketedInput",e[e.nonterminalSExpressionListTail=217]="nonterminalSExpressionListTail",e[e.nonterminalClause=218]="nonterminalClause",e[e.nonterminalQuery=219]="nonterminalQuery",e[e.nonterminalGoal=220]="nonterminalGoal",e[e.nonterminalClauseTail=221]="nonterminalClauseTail",e[e.nonterminalGoalList=222]="nonterminalGoalList",e[e.nonterminalGoalListTail=223]="nonterminalGoalListTail",e[e.nonterminalList=224]="nonterminalList",e[e.nonterminalListContents=225]="nonterminalListContents",e[e.nonterminalListContentsTail=226]="nonterminalListContentsTail",e[e.nonterminalFunctorExpression=227]="nonterminalFunctorExpression",e[e.nonterminalTailOfGoalOrFunctorExpression=228]="nonterminalTailOfGoalOrFunctorExpression",e[e.nonterminalExpressionListTail=229]="nonterminalExpressionListTail",e[e.nonterminalGoalTail1=230]="nonterminalGoalTail1",e[e.nonterminalVariableOrNumericLiteral=231]="nonterminalVariableOrNumericLiteral",e[e.nonterminalLambdaExpression=232]="nonterminalLambdaExpression",e[e.nonterminalLetStatement=233]="nonterminalLetStatement",e[e.nonterminalFunctionCall=234]="nonterminalFunctionCall",e[e.nonterminalAfterVariable=235]="nonterminalAfterVariable",e[e.nonterminalClassDef=236]="nonterminalClassDef",e[e.nonterminalClass=237]="nonterminalClass",e[e.nonterminalInstVars=238]="nonterminalInstVars",e[e.nonterminalMethodDef=239]="nonterminalMethodDef",e[e.nonterminalMethodDefList=240]="nonterminalMethodDefList",e[e.nonterminalLiteralList=241]="nonterminalLiteralList",e[e.nonterminalVectorConst=242]="nonterminalVectorConst",e[e.nonterminalIntegerLiteralList=243]="nonterminalIntegerLiteralList",e[e.nonterminalClusterDef=244]="nonterminalClusterDef",e[e.nonterminalRep=245]="nonterminalRep",e[e.nonterminalFunDefList=246]="nonterminalFunDefList",e[e.nonterminalOnePartName=247]="nonterminalOnePartName",e[e.nonterminalOnePartNameTail=248]="nonterminalOnePartNameTail",e[e.nonterminalExportList=249]="nonterminalExportList",e[e.nonterminalOnePartNameList=250]="nonterminalOnePartNameList",e[e.nonterminalArithmeticExpression=251]="nonterminalArithmeticExpression",e[e.nonterminalArithmeticExpression0=252]="nonterminalArithmeticExpression0",e[e.nonterminalArithmeticExpression1=253]="nonterminalArithmeticExpression1",e[e.nonterminalArithmeticExpression2=254]="nonterminalArithmeticExpression2",e[e.nonterminalArithmeticExpression3=255]="nonterminalArithmeticExpression3",e[e.nonterminalArithmeticExpression4=256]="nonterminalArithmeticExpression4",e[e.nonterminalArithmeticExpression5=257]="nonterminalArithmeticExpression5",e[e.nonterminalArithmeticExpression6=258]="nonterminalArithmeticExpression6",e[e.nonterminalArithmeticExpression7=259]="nonterminalArithmeticExpression7",e[e.nonterminalArithmeticExpression8=260]="nonterminalArithmeticExpression8",e[e.nonterminalArithmeticExpression9=261]="nonterminalArithmeticExpression9",e[e.nonterminalArithmeticExpression10=262]="nonterminalArithmeticExpression10",e[e.nonterminalArithmeticExpression11=263]="nonterminalArithmeticExpression11",e[e.nonterminalArithmeticExpression12=264]="nonterminalArithmeticExpression12",e[e.nonterminalArithmeticExpression13=265]="nonterminalArithmeticExpression13",e[e.nonterminalArithmeticExpression14=266]="nonterminalArithmeticExpression14",e[e.nonterminalArithmeticExpression15=267]="nonterminalArithmeticExpression15",e[e.nonterminalArithmeticOperator=268]="nonterminalArithmeticOperator",e[e.nonterminalArithmeticOperator1=269]="nonterminalArithmeticOperator1",e[e.nonterminalArithmeticOperator2=270]="nonterminalArithmeticOperator2",e[e.nonterminalArithmeticOperator3=271]="nonterminalArithmeticOperator3",e[e.nonterminalArithmeticOperator4=272]="nonterminalArithmeticOperator4",e[e.nonterminalArithmeticOperator5=273]="nonterminalArithmeticOperator5",e[e.nonterminalArithmeticOperator6=274]="nonterminalArithmeticOperator6",e[e.nonterminalArithmeticOperator7=275]="nonterminalArithmeticOperator7",e[e.nonterminalArithmeticOperator8=276]="nonterminalArithmeticOperator8",e[e.nonterminalArithmeticOperator9=277]="nonterminalArithmeticOperator9",e[e.nonterminalArithmeticOperator10=278]="nonterminalArithmeticOperator10",e[e.nonterminalArithmeticOperator11=279]="nonterminalArithmeticOperator11",e[e.nonterminalArithmeticOperator12=280]="nonterminalArithmeticOperator12",e[e.nonterminalArithmeticOperator13=281]="nonterminalArithmeticOperator13",e[e.nonterminalArithmeticOperator14=282]="nonterminalArithmeticOperator14",e[e.nonterminalArithmeticOperator15=283]="nonterminalArithmeticOperator15",e[e.nonterminalArithmeticComparisonOperator=284]="nonterminalArithmeticComparisonOperator",e[e.nonterminalActualParameterList=285]="nonterminalActualParameterList",e[e.nonterminalFormalParameterList=286]="nonterminalFormalParameterList",e[e.nonterminalCommaSeparatedVariableList=287]="nonterminalCommaSeparatedVariableList",e[e.nonterminalCommaSeparatedExpressionList=288]="nonterminalCommaSeparatedExpressionList",e[e.nonterminalTypeName=289]="nonterminalTypeName",e[e.nonterminalTypeExpression=290]="nonterminalTypeExpression",e[e.nonterminalTypeParameterized=291]="nonterminalTypeParameterized",e[e.nonterminalOptionalElseBlock=292]="nonterminalOptionalElseBlock",e[e.nonterminalNonEmptyExpressionList=293]="nonterminalNonEmptyExpressionList",e[e.nonterminalLValue=294]="nonterminalLValue",e[e.nonterminalAssignmentOperator=295]="nonterminalAssignmentOperator",e[e.nonterminalBlock=296]="nonterminalBlock",e[e.nonterminalDeclarationPartOfBlock=297]="nonterminalDeclarationPartOfBlock",e[e.nonterminalDeclaration=298]="nonterminalDeclaration",e[e.nonterminalDeclarationList=299]="nonterminalDeclarationList",e[e.nonterminalValueList=300]="nonterminalValueList",e[e.nonterminalValueListTail=301]="nonterminalValueListTail"}(m||(m={})),function(e){e[e.MinimalLanguage=0]="MinimalLanguage",e[e.Micro=1]="Micro",e[e.Chapter1=2]="Chapter1",e[e.LISP=3]="LISP",e[e.APL=4]="APL",e[e.Scheme=5]="Scheme",e[e.SASL=6]="SASL",e[e.CLU=7]="CLU",e[e.Smalltalk=8]="Smalltalk",e[e.Prolog=9]="Prolog",e[e.Prolog2=10]="Prolog2",e[e.Inference=11]="Inference",e[e.JSON=12]="JSON",e[e.EcstaSKI=13]="EcstaSKI",e[e.Adso=14]="Adso",e[e.LambdaCalculus=15]="LambdaCalculus",e[e.LambdaCalculusWithAugmentedSyntax=16]="LambdaCalculusWithAugmentedSyntax",e[e.LambdaCalculusIntegerExtension=17]="LambdaCalculusIntegerExtension",e[e.C=18]="C",e[e.N1=19]="N1",e[e.Arithmetic=20]="Arithmetic",e[e.Fxx=21]="Fxx",e[e.Protos=22]="Protos"}(u||(u={})),function(e){e[e.MidnightHack=1]="MidnightHack",e[e.FiniteStateMachine=2]="FiniteStateMachine"}(c||(c={})),function(e){e[e.tokenNone=1]="tokenNone",e[e.tokenIntLit=2]="tokenIntLit",e[e.tokenFltLit=3]="tokenFltLit",e[e.tokenStrLit=4]="tokenStrLit",e[e.tokenStrLit2=5]="tokenStrLit2",e[e.tokenIdent=6]="tokenIdent",e[e.tokenBoolIdent=7]="tokenBoolIdent",e[e.tokenSkolemIdent=8]="tokenSkolemIdent",e[e.tokenVariable=9]="tokenVariable",e[e.tokenPlus=10]="tokenPlus",e[e.tokenMinus=11]="tokenMinus",e[e.tokenMult=12]="tokenMult",e[e.tokenDiv=13]="tokenDiv",e[e.tokenEqual=14]="tokenEqual",e[e.tokenNotEqual=15]="tokenNotEqual",e[e.tokenLess=16]="tokenLess",e[e.tokenLessEqual=17]="tokenLessEqual",e[e.tokenGreater=18]="tokenGreater",e[e.tokenGreaterEqual=19]="tokenGreaterEqual",e[e.tokenSemicolon=20]="tokenSemicolon",e[e.tokenComma=21]="tokenComma",e[e.token2OrBar=22]="token2OrBar",e[e.token2Ampersand=23]="token2Ampersand",e[e.tokenLeftBracket=24]="tokenLeftBracket",e[e.tokenRightBracket=25]="tokenRightBracket",e[e.tokenAssign=26]="tokenAssign",e[e.tokenArrow=27]="tokenArrow",e[e.tokenThickArrow=28]="tokenThickArrow",e[e.tokenExclamation=29]="tokenExclamation",e[e.tokenApostrophe=30]="tokenApostrophe",e[e.tokenOctothorpe=31]="tokenOctothorpe",e[e.tokenDollar=32]="tokenDollar",e[e.tokenDot=33]="tokenDot",e[e.tokenLeftSquareBracket=34]="tokenLeftSquareBracket",e[e.tokenRightSquareBracket=35]="tokenRightSquareBracket",e[e.tokenOrBar=36]="tokenOrBar",e[e.tokenAmpersand=37]="tokenAmpersand",e[e.tokenColon=38]="tokenColon",e[e.tokenLeftCurlyBrace=39]="tokenLeftCurlyBrace",e[e.tokenRightCurlyBrace=40]="tokenRightCurlyBrace",e[e.tokenQuoteKeyword=41]="tokenQuoteKeyword",e[e.tokenQuestionMinus=42]="tokenQuestionMinus",e[e.tokenColonMinus=43]="tokenColonMinus",e[e.tokenEqualLessThan=44]="tokenEqualLessThan",e[e.tokenBackslashPlus=45]="tokenBackslashPlus",e[e.tokenBackslashEqual=46]="tokenBackslashEqual",e[e.tokenEqualEqual=47]="tokenEqualEqual",e[e.tokenBackslashEqualEqual=48]="tokenBackslashEqualEqual",e[e.tokenEqualColonEqual=49]="tokenEqualColonEqual",e[e.tokenEqualBackslashEqual=50]="tokenEqualBackslashEqual",e[e.tokenMinusMinusGreaterThan=51]="tokenMinusMinusGreaterThan",e[e.tokenEqualDotDot=52]="tokenEqualDotDot",e[e.tokenCaret=53]="tokenCaret",e[e.tokenTilde=54]="tokenTilde",e[e.tokenLowercaseGreekLetterLambda=55]="tokenLowercaseGreekLetterLambda",e[e.tokenPercent=56]="tokenPercent",e[e.tokenPlusEqual=57]="tokenPlusEqual",e[e.tokenMinusEqual=58]="tokenMinusEqual",e[e.tokenMultEqual=59]="tokenMultEqual",e[e.tokenDivEqual=60]="tokenDivEqual",e[e.tokenPercentEqual=61]="tokenPercentEqual",e[e.tokenForAll=62]="tokenForAll",e[e.tokenThereExists=63]="tokenThereExists",e[e.tokenThereDoesNotExist=64]="tokenThereDoesNotExist",e[e.tokenEmptySet=65]="tokenEmptySet",e[e.tokenIsAnElementOf=66]="tokenIsAnElementOf",e[e.tokenIntersection=67]="tokenIntersection",e[e.tokenUnion=68]="tokenUnion",e[e.tokenIsASubsetOf=69]="tokenIsASubsetOf",e[e.tokenIsAProperSubsetOf=70]="tokenIsAProperSubsetOf",e[e.tokenBitwiseShiftLeft=71]="tokenBitwiseShiftLeft",e[e.tokenBitwiseShiftRight=72]="tokenBitwiseShiftRight",e[e.tokenBitwiseAndEqual=73]="tokenBitwiseAndEqual",e[e.tokenBitwiseOrEqual=74]="tokenBitwiseOrEqual",e[e.tokenBitwiseXorEqual=75]="tokenBitwiseXorEqual",e[e.tokenBitwiseShiftLeftEqual=76]="tokenBitwiseShiftLeftEqual",e[e.tokenBitwiseShiftRightEqual=77]="tokenBitwiseShiftRightEqual",e[e.tokenPlusPlus=78]="tokenPlusPlus",e[e.tokenMinusMinus=79]="tokenMinusMinus",e[e.tokenQuestionMark=80]="tokenQuestionMark",e[e.tokenColonColon=81]="tokenColonColon",e[e.tokenEOF=82]="tokenEOF",e[e.stateStart=83]="stateStart",e[e.stateError=84]="stateError",e[e.stateStrLitOpen=85]="stateStrLitOpen",e[e.stateStrLit2Open=86]="stateStrLit2Open",e[e.stateIntLitDot=87]="stateIntLitDot",e[e.stateQuestion=88]="stateQuestion",e[e.stateAmpersand=89]="stateAmpersand",e[e.stateAt=90]="stateAt",e[e.stateDollar=91]="stateDollar",e[e.stateBackslash=92]="stateBackslash",e[e.stateEqualColon=93]="stateEqualColon",e[e.stateEqualBackslash=94]="stateEqualBackslash",e[e.stateMinusMinus=95]="stateMinusMinus",e[e.stateEqualDot=96]="stateEqualDot"}(h||(h={})),function(e){e[e.LL1=0]="LL1",e[e.LR0=1]="LR0",e[e.LR1=2]="LR1",e[e.SLR1=3]="SLR1",e[e.LALR1=4]="LALR1"}(p||(p={}));class v{constructor(e,t=0,n=0){this.message=e,this.line=t,this.column=n}}class P{constructor(e,t,n,r,i){this.tokenType=e,this.tokenValue=t,this.line=n,this.column=r,this.isQuoted=i}cloneWithNewLineNumber(e){return new P(this.tokenType,this.tokenValue,e,this.column,this.isQuoted)}getValueAsNumber(){if("number"!=typeof this.tokenValue)throw new v(`Token value '${this.tokenValue}' (type ${typeof this.tokenValue}) is not a number.`,this.line,this.column);return this.tokenValue}}function T(e,t,n,r,i=!1){return new P(e,t,n,r,i)}!function(e){e[e.UndefinedSymbol=0]="UndefinedSymbol",e[e.Lambda=1]="Lambda",e[e.Dot=2]="Dot",e[e.terminalBegin=3]="terminalBegin",e[e.terminalEnd=4]="terminalEnd",e[e.terminalAssign=5]="terminalAssign",e[e.terminalSemicolon=6]="terminalSemicolon",e[e.terminalRead=7]="terminalRead",e[e.terminalWrite=8]="terminalWrite",e[e.terminalLeftBracket=9]="terminalLeftBracket",e[e.terminalRightBracket=10]="terminalRightBracket",e[e.terminalLeftSquareBracket=11]="terminalLeftSquareBracket",e[e.terminalRightSquareBracket=12]="terminalRightSquareBracket",e[e.terminalOrBar=13]="terminalOrBar",e[e.terminalComma=14]="terminalComma",e[e.terminalID=15]="terminalID",e[e.terminalVariable=16]="terminalVariable",e[e.terminalIntegerLiteral=17]="terminalIntegerLiteral",e[e.terminalFloatLiteral=18]="terminalFloatLiteral",e[e.terminalStringLiteral=19]="terminalStringLiteral",e[e.terminalPlus=20]="terminalPlus",e[e.terminalMinus=21]="terminalMinus",e[e.terminalCond=22]="terminalCond",e[e.terminalLet=23]="terminalLet",e[e.terminalLetStar=24]="terminalLetStar",e[e.terminalDefine=25]="terminalDefine",e[e.terminalIf=26]="terminalIf",e[e.terminalWhile=27]="terminalWhile",e[e.terminalSet=28]="terminalSet",e[e.terminalMultiply=29]="terminalMultiply",e[e.terminalDivide=30]="terminalDivide",e[e.terminalEquals=31]="terminalEquals",e[e.terminalLessThan=32]="terminalLessThan",e[e.terminalGreaterThan=33]="terminalGreaterThan",e[e.terminalPrint=34]="terminalPrint",e[e.terminalCons=35]="terminalCons",e[e.terminalCar=36]="terminalCar",e[e.terminalCdr=37]="terminalCdr",e[e.terminalNumberPred=38]="terminalNumberPred",e[e.terminalSymbolPred=39]="terminalSymbolPred",e[e.terminalListPred=40]="terminalListPred",e[e.terminalNullPred=41]="terminalNullPred",e[e.terminalStringPred=42]="terminalStringPred",e[e.terminalApostrophe=43]="terminalApostrophe",e[e.terminalDot=44]="terminalDot",e[e.terminalList=45]="terminalList",e[e.terminalRplaca=46]="terminalRplaca",e[e.terminalRplacd=47]="terminalRplacd",e[e.terminalDefineMacro=48]="terminalDefineMacro",e[e.terminalQuoteKeyword=49]="terminalQuoteKeyword",e[e.terminalRandom=50]="terminalRandom",e[e.terminalToString=51]="terminalToString",e[e.terminalListToString=52]="terminalListToString",e[e.terminalStringToList=53]="terminalStringToList",e[e.terminalStringToSymbol=54]="terminalStringToSymbol",e[e.terminalSin=55]="terminalSin",e[e.terminalCos=56]="terminalCos",e[e.terminalTan=57]="terminalTan",e[e.terminalPow=58]="terminalPow",e[e.terminalExp=59]="terminalExp",e[e.terminalLn=60]="terminalLn",e[e.terminalFloor=61]="terminalFloor",e[e.terminalAtan2=62]="terminalAtan2",e[e.terminalThrow=63]="terminalThrow",e[e.terminalStringLessThan=64]="terminalStringLessThan",e[e.terminalPrimOpPred=65]="terminalPrimOpPred",e[e.terminalClosurePred=66]="terminalClosurePred",e[e.terminalLambdaKeyword=67]="terminalLambdaKeyword",e[e.terminalLetRec=68]="terminalLetRec",e[e.terminalCallCC=69]="terminalCallCC",e[e.terminalNameBeginningWithCapital=70]="terminalNameBeginningWithCapital",e[e.terminalNameNotBeginningWithCapital=71]="terminalNameNotBeginningWithCapital",e[e.terminalFrom=72]="terminalFrom",e[e.terminalInferPred=73]="terminalInferPred",e[e.terminalNotSymbol=74]="terminalNotSymbol",e[e.terminalIs=75]="terminalIs",e[e.terminalLessOrEqual=76]="terminalLessOrEqual",e[e.terminalGreaterOrEqual=77]="terminalGreaterOrEqual",e[e.terminalNotEqual=78]="terminalNotEqual",e[e.terminalArithmeticEqual=79]="terminalArithmeticEqual",e[e.terminalArithmeticNotEqual=80]="terminalArithmeticNotEqual",e[e.terminalUnifiable=81]="terminalUnifiable",e[e.terminalNotUnifiable=82]="terminalNotUnifiable",e[e.terminalIfThen=83]="terminalIfThen",e[e.terminalColon=84]="terminalColon",e[e.terminalDCGArrow=85]="terminalDCGArrow",e[e.terminalUniv=86]="terminalUniv",e[e.terminalCaret=87]="terminalCaret",e[e.terminalFn=88]="terminalFn",e[e.terminalThickArrow=89]="terminalThickArrow",e[e.terminalIn=90]="terminalIn",e[e.terminalTrue=91]="terminalTrue",e[e.terminalFalse=92]="terminalFalse",e[e.terminalComb=93]="terminalComb",e[e.terminalInc=94]="terminalInc",e[e.terminalDec=95]="terminalDec",e[e.terminalAnd=96]="terminalAnd",e[e.terminalOr=97]="terminalOr",e[e.terminalIsZero=98]="terminalIsZero",e[e.terminalNil=99]="terminalNil",e[e.terminalOctothorpe=100]="terminalOctothorpe",e[e.terminalDollar=101]="terminalDollar",e[e.terminalClass=102]="terminalClass",e[e.terminalObjectPred=103]="terminalObjectPred",e[e.terminalStrlen=104]="terminalStrlen",e[e.terminalSubstr=105]="terminalSubstr",e[e.terminalTypename=106]="terminalTypename",e[e.terminalStrcat=107]="terminalStrcat",e[e.terminalNewArray=108]="terminalNewArray",e[e.terminalArrayLength=109]="terminalArrayLength",e[e.terminalArrayGet=110]="terminalArrayGet",e[e.terminalArraySet=111]="terminalArraySet",e[e.terminalArrayPred=112]="terminalArrayPred",e[e.terminalCharPred=113]="terminalCharPred",e[e.terminalStringIndex=114]="terminalStringIndex",e[e.terminalVectorConst=115]="terminalVectorConst",e[e.terminalMax=116]="terminalMax",e[e.terminalPlusSlash=117]="terminalPlusSlash",e[e.terminalMinusSlash=118]="terminalMinusSlash",e[e.terminalMultiplySlash=119]="terminalMultiplySlash",e[e.terminalDivideSlash=120]="terminalDivideSlash",e[e.terminalMaxSlash=121]="terminalMaxSlash",e[e.terminalOrSlash=122]="terminalOrSlash",e[e.terminalAndSlash=123]="terminalAndSlash",e[e.terminalCompress=124]="terminalCompress",e[e.terminalShape=125]="terminalShape",e[e.terminalRavel=126]="terminalRavel",e[e.terminalRestruct=127]="terminalRestruct",e[e.terminalCat=128]="terminalCat",e[e.terminalIndx=129]="terminalIndx",e[e.terminalTrans=130]="terminalTrans",e[e.terminalSquareBrackets=131]="terminalSquareBrackets",e[e.terminalDoubleSubscripting=132]="terminalDoubleSubscripting",e[e.terminalCluster=133]="terminalCluster",e[e.terminalRep=134]="terminalRep",e[e.terminalExport=135]="terminalExport",e[e.terminalThen=136]="terminalThen",e[e.terminalElse=137]="terminalElse",e[e.terminalCall=138]="terminalCall",e[e.terminalTypeBoolean=139]="terminalTypeBoolean",e[e.terminalTypeByte=140]="terminalTypeByte",e[e.terminalTypeClosure=141]="terminalTypeClosure",e[e.terminalTypeInteger=142]="terminalTypeInteger",e[e.terminalTypeFloatingPoint=143]="terminalTypeFloatingPoint",e[e.terminalTypeList=144]="terminalTypeList",e[e.terminalTypeMap=145]="terminalTypeMap",e[e.terminalTypeString=146]="terminalTypeString",e[e.terminalModulus=147]="terminalModulus",e[e.terminalMapGet=148]="terminalMapGet",e[e.terminalMapSet=149]="terminalMapSet",e[e.terminalAsync=150]="terminalAsync",e[e.terminalPlusEqual=151]="terminalPlusEqual",e[e.terminalMinusEqual=152]="terminalMinusEqual",e[e.terminalMultiplyEqual=153]="terminalMultiplyEqual",e[e.terminalDivideEqual=154]="terminalDivideEqual",e[e.terminalModulusEqual=155]="terminalModulusEqual",e[e.terminalLeftCurlyBrace=156]="terminalLeftCurlyBrace",e[e.terminalRightCurlyBrace=157]="terminalRightCurlyBrace",e[e.terminalDo=158]="terminalDo",e[e.terminalForEach=159]="terminalForEach",e[e.terminalDeclare=160]="terminalDeclare",e[e.terminalBooleanPred=161]="terminalBooleanPred",e[e.terminalMapPred=162]="terminalMapPred",e[e.terminalPairPred=163]="terminalPairPred",e[e.terminalLogicalNot=164]="terminalLogicalNot",e[e.terminalBitwiseAnd=165]="terminalBitwiseAnd",e[e.terminalBitwiseOr=166]="terminalBitwiseOr",e[e.terminalBitwiseXor=167]="terminalBitwiseXor",e[e.terminalBitwiseNot=168]="terminalBitwiseNot",e[e.terminalBitwiseShiftLeft=169]="terminalBitwiseShiftLeft",e[e.terminalBitwiseShiftRight=170]="terminalBitwiseShiftRight",e[e.terminalBitwiseAndEqual=171]="terminalBitwiseAndEqual",e[e.terminalBit