#       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Infered     Safe-Infered A script in  script ...  /script& tags. This may seem a little silly, F but the Flapjax analogue has an inline variant and attribute-inline  variant. x !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x;QPONMLKJIHGFEDCBA@?>=<8:9,+*)('&%$#"! t~}|{zyxwvu6745gsrqponmlkjihZa`_^]\[VYXW0321-/.bfedcRUTS,+*)('&%$#"! -/.032145678:9;QPONMLKJIHGFEDCBA@?>=<RUTSVYXWZa`_^]\[bfedcg srqponmlkjiht~}|{zyxwvu Safe-Infered Safe-Infered Safe-InferedFThe statically-determinate lexical structure of a JavaScript program. browser/testing environment  Safe-Infered !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;;<<=>=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ WebBits-2.2BrownPLT.JavaScript.LexerBrownPLT.JavaScript.SyntaxBrownPLT.JavaScript.ParserBrownPLT.JavaScript.PrettyPrintBrownPLT.JavaScript.EnvironmentBrownPLT.JavaScriptidentifierStart identifierreservedoperator reservedOp charLiteral stringLiteralnaturalintegerfloatnaturalOrFloatdecimal hexadecimaloctalsymbol whiteSpaceparensbracessquaressemicommacolondotbracketslexeme Statement FunctionStmt VarDeclStmtWithStmt ReturnStmt ThrowStmtTryStmtForStmt ForInStmt LabelledStmt ContinueStmt BreakStmt DoWhileStmt WhileStmt SwitchStmt IfSingleStmtIfStmtExprStmt EmptyStmt BlockStmt ForInInit ForInNoVarForInVarForInitExprInitVarInitNoInitVarDecl CatchClause CaseClause CaseDefault ExpressionFuncExprCallExprListExpr ParenExpr AssignExprCondExpr InfixExprUnaryAssignExpr PrefixExprNewExpr BracketRefDotRefVarRefThisRef ObjectLitArrayLitNullLitBoolLitIntLitNumLit RegexpLit StringLitLValueLBracketLDotLVarPropPropNum PropStringPropIdPrefixOp PrefixDelete PrefixVoid PrefixTypeof PrefixMinus PrefixPlus PrefixBNot PrefixLNot UnaryAssignOp PostfixDec PostfixInc PrefixDec PrefixIncAssignOp OpAssignBOr OpAssignBXor OpAssignBAndOpAssignZfRShiftOpAssignSpRShiftOpAssignLShift OpAssignMod OpAssignDiv OpAssignMul OpAssignSub OpAssignAddOpAssignInfixOpOpAddOpBOrOpBXorOpBAnd OpZfRShift OpSpRShiftOpLShiftOpSubOpModOpDivOpMulOpLOrOpLAnd OpStrictNEq OpStrictEqOpNEqOpEq OpInstanceofOpInOpGEqOpGTOpLEqOpLTId JavaScriptScriptunIdExpressionParserStatementParserParsedExpressionParsedStatementparseBlockStmtparseStatementparseSimpleExpr' assignExprparseExpression parseScriptparseJavaScriptFromFileparseScriptFromStringemptyParsedJavaScript parseStringrenderStatementsrenderExpressionstmtexpr javaScriptEnvTreeenv localVars