|1       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        ghc experimentalbjpop@csse.unimelb.edu.au-Convert escaped sequences of characters into real' characters in a normal Python string. -Convert escaped sequences of characters into real$ characters in a raw Python string. [ Note: despite their name, Python raw strings do allow a small set of character escapings, Q namely the single and double quote characters and the line continuation marker.  ghc experimentalbjpop@csse.unimelb.edu.au*All types which can be transformed into a  . Transform values into strings. #Print just the prefix of something /Conditionally wrap parentheses around an item. &A list of things separated by commas. C   !"#$%&'()*+,-./0123456789:;<=>?@AB CDEF   ghc experimentalbjpop@csse.unimelb.edu.au" 9Source location spanning a contiguous section of a file. No span information. 5A span which is actually just one point in the file. 1A span which starts and ends on different lines. /A span which starts and ends on the same line. Types which have a span. 8A location for a syntactic entity from the source code. = The location is specified by its filename, and starting row  and column. 5Create a new span which encloses two spanned things. 2Construct the initial source location for a file. !FDecrement the column of a location, only if they are on the same row. "%Increment the column of a location. #4Increment the column of a location by one tab stop. $6Increment the line number (row) of a location by one. G%+Make a point span from the start of a span &7Make a span from two locations. Assumption: either the A arguments are the same, or the left one preceeds the right one. ' Combines two  1 into one that spans at least all the characters  within both spans. Assumes the file! part is the same in both inputs ($Get the row of the start of a span. )"Get the row of the end of a span. *'Get the column of the start of a span. +%Get the column of the end of a span. !  !"#$%&'()*+&  &' %"!$#+)*(!    !"#$%&'()*+ghc experimentalbjpop@csse.unimelb.edu.aus,Classification of tokens -./01234567Lexical tokens. 8 End of file 9Operator: not-equals ' '. Version 2 only. :Operator: not-equals '!='. ;Operator: tilde '~'. <Operator: floor-divide ''. =Operator: modulus '%'. >Operator: binary-shift-right '>>'. ?Operator: binary-shift-left '<<'. @Operator: binary-and '&'. AOperator: binary-xor '^'. BOperator: binary-or '|'. COperator: exponential '**'. DOperator: less-than-or-equals '<='. E!Operator: greater-than-or-equals '>='. FOperator: equals '=='. GOperator: less-than '<'. HOperator: greater-than '>'. IOperator: divide '/'. JOperator: multiply '*'. KOperator: minus: '-'. LOperator: plus '+'. M Delimiter: back quote character '`\'. N#Delimiter: floor-divide assignment '='. O)Delimiter: binary-right-shift assignment '>>='. P(Delimiter: binary-left-shift assignment '<<='. Q!Delimiter: binary-xor assignment '^='. R Delimiter: binary-or assignment '|='. S!Delimiter: binary-and assignment '&='. TDelimiter: power assignment '**='. UDelimiter: modulus assignment '%='. VDelimiter: divide assignment '/='. WDelimiter: multiply assignment '*=' XDelimiter: minus assignment '-='. YDelimiter: plus assignment '+='. ZDelimiter: assignment '='. [Delimiter: right facing arrow '->'. \!Delimiter: ellipses (three dots) '...'. ]Delimiter: colon ':'. ^Delimiter: semicolon ';'. _Delimiter: comma ','. `Delimiter: dot (full stop) '.'. aDelimiter: right curly bracket '}'. bDelimiter: left curly bracket '{'. c Delimiter: right square bracket ']'. dDelimiter: left square bracket '['. eDelimiter: right round bracket ')'. fDelimiter: left round bracket '('. gDelimiter: at sign '@'. h Keyword: 'exec'. (Python 2.x only) i Keyword: 'print'. (Python 2.x only) j Keyword: 'nonlocal' (Python 3.x only)  Version 2.x only: kKeyword: boolean disjunction 'or'.  Version 3.x only: lKeyword: boolean conjunction 'and'. m Keyword: 'not'. n Keyword: 'else'. o Keyword: 'del'. p Keyword: 'continue'. q Keyword: 'break'. r Keyword: 'pass'. s Keyword: 'import'. t Keyword: 'assert'. u Keyword: 'yield'. v Keyword: 'elif'. w Keyword: 'as'. x Keyword: 'with'. y Keyword: 'global'. z Keyword: 'from'. { Keyword: 'for'. | Keyword: 'None'. } Keyword: 'finally'. ~ Keyword: 'class'.  Keyword: 'lambda'.  Keyword: 'is'.  Keyword: 'in'.  Keyword: 'raise'.  Keyword: 'except'.  Keyword: 'try'.  Keyword: 'Return'.  Keyword: 'False'.  Keyword: 'True'.  Keyword: 'if'.  Keyword: 'while'.  Keyword: 'def'. Literal: imaginary number. Literal: floating point. Literal: long integer. Version 2 only. Literal: integer. Literal: byte string. Literal: string.  Identifier. Single line comment. &Line join (backslash at end of line).  Newline. Indentation: decrease. Indentation: increase. _Produce a string from a token containing detailed information. Mainly intended for debugging. 2Test if a token contains its literal source text. XProduce a string from a token which is suitable for printing as Python concrete syntax.   Invisible tokens yield an empty string. s,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:98,6543210/.-s, 6543210/.--./01234567~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9889:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ghc experimentalbjpop@csse.unimelb.edu.au4 Augmented assignment operators. '//=' '>>=' '<<=' '^=' '|=' '&=' '*=' '%=' '/=' '*=' '-=' '+='  Operators. '.' '%' '~'- (bitwise inversion of its integer argument) '//' '/' '-' '+' '*' '>>' '<<' '&' '^' '|' 'not in' 'is not' 'is' 'in' ' '. Version 2 only. '!=' '<=' '>=' '==' '>' '<' '**' 'not' 'or' 'and' Slice compenent.  Expressions.  Version 2.6  8http://www.python.org/doc/2.6/reference/expressions.html.  Version 3.1  8http://www.python.org/doc/3.1/reference/expressions.html. <String conversion (backquoted expression). Version 2 only. Parenthesised expression. Starred expression. Version 3 only. Set comprehension. Version 3 only. Set. Dictionary comprehension. Version 3 only.  Dictionary. List. List comprehension.  Generator. Generator yield. Optional expression to yield. Tuple. Can be empty. )Anonymous function definition (lambda). Unary operator application. Binary operator application. Conditional expresison. -Expression to evaluate if condition is True. Boolean condition. .Expression to evaluate if condition is False. Slicing, for example 'w [x:y:z]'. Subscription, for example 'x [y]'. Function call. <Expression yielding a callable object (such as a function). Call arguments. 0Literal strings (to be concatentated together).   Literal byte string.    Ellipsis '...'.  Literal 'None' value. Literal boolean. Literal imaginary number. Literal floating point number. Long literal integer. Version 2 only. Literal integer.  Variable. !Comprehension iterator (either a 'for' or an 'if').  !"#Comprehension guard. $%&'()Comprehension 'for' component. *+,-./0^Comprehension. In version 3.x this can be used for lists, sets, dictionaries and generators. 123456Exception clause. 789:;Exception handler. <=>?@A@Arguments to function calls, class declarations and decorators. BKeyword argument. CKeyword name. DExcess keyword argument. EExcess positional argument. FOrdinary argument expression. GArgument expression. HIJTuple unpack parameter. Version 2 only. K%A (possibly nested) tuple parameter. LMA variable name. NOPQAFormal parameter of function definitions and lambda expressions.  Version 2.6:   Phttp://www.python.org/doc/2.6/reference/compound_stmts.html#function-definitions   >http://www.python.org/doc/2.6/reference/expressions.html#calls  Version 3.1:   Phttp://www.python.org/doc/3.1/reference/compound_stmts.html#function-definitions   >http://www.python.org/doc/3.1/reference/expressions.html#calls RTuple unpack. Version 2 only. SThe tuple to unpack. TFMarker for the end of positional parameters (not a parameter itself). USExcess keyword parameter (double asterisk before its name in the concrete syntax). VWExcess positional parameter (single asterisk before its name in the concrete syntax). WOrdinary named parameter. XParameter name. YOptional annotation. ZOptional default value. [\] Decorator. ^_Decorator name. `Decorator arguments. abcThe argument for a raise statement. dVersion 2 only. e.Optional expression to evaluate, and optional 'from' clause. Version 3 only. fg Statements.  Simple statements:  Version 2.6  9http://www.python.org/doc/2.6/reference/simple_stmts.html  Version 3.1  9http://www.python.org/doc/3.1/reference/simple_stmts.html  Compound statements:  Version 2.6  ;http://www.python.org/doc/2.6/reference/compound_stmts.html  Version 3.1  ;http://www.python.org/doc/3.1/reference/compound_stmts.html hExec statement. Version 2 only. iExpression to exec. jAGlobal and local environments to evaluate the expression within. kPrint statement. Version 2 only. lOptional chevron (>>) mArguments to print nDoes it end in a comma? o Assertion. pExpressions being asserted. qNonlocal declaration. Version 3.x only. roVariables declared nonlocal in the current block (their binding comes from bound the nearest enclosing scope). sGlobal declaration. t0Variables declared global in the current block. uExpression statement. vwDel statement (delete). xItems to delete. yContinue statement (may only occur syntactically nested in a for or while loop, but not nested in a function or class definition or finally clause within that loop). zBreak statement (may only occur syntactically nested in a for or while loop, but not nested in a function or class definition within that loop). {"Pass statement (null operation). |&With statement (context management). }2Context expression(s) (yields a context manager). ~Suite to be managed. 'Raise statement (exception throwing). %Try statement (exception handling).  Try clause. Exception handlers. ^Possibly empty else clause, executed if and when control flows off the end of the try clause. Possibly empty finally clause. RReturn statement (may only occur syntactically nested in a function definition). 6Optional expression to evaluate and return to caller. -Decorated definition of a function or class.  Decorators. .Function or class definition to be decorated. !Augmented assignment statement. Entity to assign to. !Assignment operator (for example '+='). Expression to evaluate. Assignment statement. Entity to assign to. Expression to evaluate. 'Conditional statement (if-elif-else). )Sequence of if-elif conditional clauses. *Possibly empty unconditional else clause. Class definition.  Class name. <Class argument list. In version 2.x this is only ArgExprs.  Class body. Function definition. Function name. Function parameter list. Optional result annotation. Function body.  For loop. Loop variables. Loop generator.  Loop body  Else clause.  While loop. Loop condition.  Loop body.  Else clause. From ... import statement. Module to import from. Items to import. Import statement. Items to import. 3A reference to the module to import from using the 'from ... import' construct. Items imported using the 'from ... import' construct. 1Import a specific list of items from the module. ,Import everything exported from the module. An entity imported using the 'from ... import' construct.  Version 2.6  Nhttp://www.python.org/doc/2.6/reference/simple_stmts.html#the-import-statement  Version 3.1  Nhttp://www.python.org/doc/3.1/reference/simple_stmts.html#the-import-statement "The name of the entity imported. -An optional name to refer to the entity (the 'as' name). An entity imported using the 'import' keyword.  Version 2.6  Nhttp://www.python.org/doc/2.6/reference/simple_stmts.html#the-import-statement  Version 3.1  Nhttp://www.python.org/doc/3.1/reference/simple_stmts.html#the-import-statement The name of module to import. -An optional name to refer to the entity (the 'as' name). 3A compound name constructed with the dot operator. QA block of statements. A suite is a group of statements controlled by a clause, # for example, the body of a loop.  Version 2.6  ;http://www.python.org/doc/2.6/reference/compound_stmts.html  Version 3.1  ;http://www.python.org/doc/3.1/reference/compound_stmts.html  A module (Python source file).  Version 2.6  @http://www.python.org/doc/2.6/reference/toplevel_components.html  Version 3.1  @http://www.python.org/doc/3.1/reference/toplevel_components.html 5A module is just a sequence of top-level statements.  Identifier. 6Convenient access to annotations in annotated types. ;Given an annotated type, project out its annotation value. 4      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~g|{zywusqokh}~xvtrplmnijfQWVUTRXYZ[XY[XY[[SZ[PJMKNOLOI]^_`a\     AFEDBGHGHGHCGH@;<=>?:67895cedb01234/)*+,-.(#$%&'" !!48 b           !! !"#$%&'$%&'()*+,-.*+,-./01234123456789789:;<=>?<=>?@A FEDBGHGHGHCGHBCDEFGHIJMKNOLOKLMNOPQWVUTRXYZ[XY[XY[[SZ[RSTUVWXYZ[\]^_`a^_`abceddefg\|{zywusqokh}~xvtrplmnijhijklmnopqrstuvwxyz{|}~ ghc experimentalbjpop@csse.unimelb.edu.au HIJKLMNOPQRS ghc experimentalbjpop@csse.unimelb.edu.aughc experimentalbjpop@csse.unimelb.edu.auAA generic error containing a string message. No source location. AAn error from the lexer. Character found where it should not be. jAn error from the parser. Token found where it should not be. Note: tokens contain their own source span. ghc experimentalbjpop@csse.unimelb.edu.aughc experimentalbjpop@csse.unimelb.edu.au)TU++' ghc experimentalbjpop@csse.unimelb.edu.au/VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~/VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~/V \XW]^YZ[^^WXYZ[\]^_ ec`fgdgabg`abcdefghijklmnopqrstuvwxyz{|}~ghc experimentalbjpop@csse.unimelb.edu.au!"!ghc experimentalbjpop@csse.unimelb.edu.aughc experimentalbjpop@csse.unimelb.edu.auBParse a string into a list of Python Tokens, or return an error. (The input stream (python source code). :The name of the python source (filename or input device). An error or a list of tokens. KTry to lex the first token in an input string. Return either a parse error P or a pair containing the next token and the rest of the input after the token. 'The input stream (python source code). :The name of the python source (filename or input device). GAn error or the next token and the rest of the input after the token. Lex a sequence of tokens. ghc experimentalbjpop@csse.unimelb.edu.au      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ghc experimentalbjpop@csse.unimelb.edu.auTParse a whole Python source file. Return comments in addition to the parsed module. /The input stream (python module source code). ;The name of the python source (filename or input device). TAn error or the abstract syntax tree (AST) of the python module and comment tokens. Parse one compound statement, or a sequence of simple statements. Generally used for interactive input, such as from the command line of an interpreter. Return comments in addition to the parsed statements. 2The input stream (python statement source code). ;The name of the python source (filename or input device). cAn error or maybe the abstract syntax tree (AST) of zero or more python statements, plus comments. 5Parse an expression. Generally used as input for the 'eval'B primitive. Return comments in addition to the parsed expression. 2The input stream (python statement source code). ;The name of the python source (filename or input device). `An error or maybe the abstract syntax tree (AST) of the python expression, plus comment tokens. ghc experimentalbjpop@csse.unimelb.edu.aughc experimentalbjpop@csse.unimelb.edu.au ghc experimentalbjpop@csse.unimelb.edu.auBParse a string into a list of Python Tokens, or return an error. (The input stream (python source code). :The name of the python source (filename or input device). An error or a list of tokens. KTry to lex the first token in an input string. Return either a parse error P or a pair containing the next token and the rest of the input after the token. 'The input stream (python source code). :The name of the python source (filename or input device). GAn error or the next token and the rest of the input after the token. ghc experimentalbjpop@csse.unimelb.edu.au      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      ghc experimentalbjpop@csse.unimelb.edu.auTParse a whole Python source file. Return comments in addition to the parsed module. /The input stream (python module source code). ;The name of the python source (filename or input device). TAn error or the abstract syntax tree (AST) of the python module and comment tokens. Parse one compound statement, or a sequence of simple statements. Generally used for interactive input, such as from the command line of an interpreter. Return comments in addition to the parsed statements. 2The input stream (python statement source code). ;The name of the python source (filename or input device). cAn error or maybe the abstract syntax tree (AST) of zero or more python statements, plus comments.  5Parse an expression. Generally used as input for the 'eval'B primitive. Return comments in addition to the parsed expression. 2The input stream (python statement source code). ;The name of the python source (filename or input device). `An error or maybe the abstract syntax tree (AST) of the python expression, plus comment tokens.    ghc experimentalbjpop@csse.unimelb.edu.au ghc experimentalbjpop@csse.unimelb.edu.au   !"#$%&'()*+,-./0123456789:;<=>?@AB CDEF  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;;<=>?@@ABCDEFFGHIJKKLMNOOPQRSTUVWXYZ[\]]^_`abcdefghijklmnoopqrstuvwxyz{|}~           !"#$%&'()*+,-./0123456789:;<=>?@ABCCDEFGHIJKLM N O P Q R S T U V W X YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~language-python-0.3.2#Language.Python.Common.StringEscapeLanguage.Python.Common.Pretty"Language.Python.Common.SrcLocationLanguage.Python.Common.TokenLanguage.Python.Common.AST!Language.Python.Common.ParseError"Language.Python.Common.ParserMonadLanguage.Python.Version3.LexerLanguage.Python.Version3.ParserLanguage.Python.Version2.LexerLanguage.Python.Version2.Parser Language.Python.Common.PrettyAST"Language.Python.Common.PrettyToken'Language.Python.Common.PrettyParseError"Language.Python.Common.ParserUtils!Language.Python.Common.LexerUtils%Language.Python.Version3.Parser.Lexer&Language.Python.Version3.Parser.ParserLanguage.Python.Version3%Language.Python.Version2.Parser.Lexer&Language.Python.Version2.Parser.ParserLanguage.Python.Version2Language.Python.CommonunescapeStringunescapeRawString octalDigits hexDigitsPrettypretty prettyText prettyPrefixparensIfperhaps commaListSrcSpan SpanEmpty SpanPoint span_column SpanMultiLinespan_start_row span_end_row SpanCoLinear span_filenamespan_rowspan_start_columnspan_end_columnSpangetSpan SrcLocation NoLocationSloc sloc_filenamesloc_row sloc_columnspanninginitialSrcLocation decColumn incColumnincTabincLinespanStartPoint mkSrcSpancombineSrcSpansstartRowendRowstartColendCol TokenClass AssignmentOperatorStringKeywordLayoutBracket Punctuation IdentifierNumberCommentTokenEOFTokenNotEqualsV2TokenNotEqualsToken TildeToken FloorDivToken ModuloTokenShiftRightTokenShiftLeftTokenBinaryAndTokenXorToken BinaryOrToken ExponentTokenLessThanEqualsTokenGreaterThanEqualsToken EqualityToken LessThanTokenGreaterThanTokenDivToken MultToken MinusToken PlusTokenBackQuoteTokenFloorDivAssignTokenRightShiftAssignTokenLeftShiftAssignTokenBinXorAssignTokenBinOrAssignTokenBinAndAssignTokenPowAssignTokenModAssignTokenDivAssignTokenMultAssignTokenMinusAssignTokenPlusAssignToken AssignTokenRightArrowToken EllipsisToken ColonTokenSemiColonToken CommaTokenDotTokenRightBraceTokenLeftBraceTokenRightSquareBracketTokenLeftSquareBracketTokenRightRoundBracketTokenLeftRoundBracketTokenAtToken ExecToken PrintToken NonLocalTokenOrTokenAndTokenNotToken ElseToken DeleteToken ContinueToken BreakToken PassToken ImportToken AssertToken YieldToken ElifTokenAsToken WithToken GlobalToken FromTokenForToken NoneToken FinallyToken ClassToken LambdaTokenIsTokenInToken RaiseToken ExceptTokenTryToken ReturnToken FalseToken TrueTokenIfToken WhileTokenDefTokenImaginaryToken FloatToken token_doubleLongIntegerToken IntegerToken token_integerByteStringToken StringTokenIdentifierToken CommentToken token_literal LineJoinToken NewlineToken DedentToken IndentToken token_spandebugTokenString hasLiteral classifyToken tokenString AssignOpSpanAssignOpFloorDivAssignRightShiftAssignLeftShiftAssign BinXorAssign BinOrAssign BinAndAssign PowAssign ModAssign DivAssign MultAssign MinusAssign PlusAssignassignOp_annotOpSpanOpDotModuloInvert FloorDivideDivideMinusPlusMultiply ShiftRight ShiftLeft BinaryAndXorBinaryOrNotInIsNotIsIn NotEqualsV2 NotEqualsLessThanEqualsGreaterThanEqualsEquality GreaterThanLessThanExponentNotOrAndop_annot SliceSpanSlice SliceEllipsis SliceExpr slice_expr SliceProper slice_lower slice_upper slice_stride slice_annotExprSpanExprStringConversionbackquoted_expr expr_anotParen paren_exprStarred starred_exprSetCompset_comprehensionSet set_exprsDictCompdict_comprehension Dictionary dict_mappingsList list_exprsListComplist_comprehension Generatorgen_comprehensionYield yield_exprTuple tuple_exprsLambda lambda_args lambda_bodyUnaryOpop_argBinaryOpoperator left_op_arg right_op_argCondExprce_true_branch ce_conditionce_false_branch SlicedExprsliceeslices Subscript subscripteesubscript_exprCallcall_fun call_argsStringsstrings_strings ByteStringsbyte_string_stringsEllipsisNoneBool bool_value Imaginaryimaginary_valueFloat float_valueLongIntInt int_value expr_literalVar var_ident expr_annot CompIterSpanCompIterIterIf comp_iter_ifIterFor comp_iter_forcomp_iter_annot CompIfSpanCompIfcomp_if comp_if_iter comp_if_annot CompForSpanCompForcomp_for_exprs comp_in_expr comp_for_itercomp_for_annotComprehensionSpan Comprehensioncomprehension_exprcomprehension_forcomprehension_annotExceptClauseSpan ExceptClause except_clauseexcept_clause_annot HandlerSpanHandlerhandler_clause handler_suite handler_annot ArgumentSpanArgument ArgKeyword arg_keywordArgVarArgsKeyword ArgVarArgsPosArgExprarg_expr arg_annotParamTupleSpan ParamTuple param_tupleParamTupleNameparam_tuple_nameparam_tuple_annot ParameterSpan Parameter UnPackTupleparam_unpack_tuple EndPositionalVarArgsKeyword VarArgsPosParam param_nameparam_py_annotation param_default param_annot DecoratorSpan Decoratordecorator_namedecorator_argsdecorator_annot RaiseExprSpan RaiseExprRaiseV2RaiseV3 StatementSpan StatementExec exec_exprexec_globals_localsPrint print_chevron print_exprsprint_trailing_commaAssert assert_exprsNonLocal nonLocal_varsGlobal global_varsStmtExpr stmt_exprDelete del_exprsContinueBreakPassWith with_context with_bodyRaise raise_exprTrytry_body try_exceptstry_else try_finallyReturn return_expr Decorateddecorated_decorators decorated_defAugmentedAssign aug_assign_to aug_assign_opaug_assign_exprAssign assign_to assign_expr Conditional cond_guards cond_elseClass class_name class_args class_bodyFunfun_namefun_argsfun_result_annotationfun_bodyFor for_targets for_generatorfor_bodyfor_elseWhile while_cond while_body while_else FromImport from_module from_itemsImport import_items stmt_annotImportRelativeSpanImportRelativeimport_relative_dotsimport_relative_moduleimport_relative_annot FromItemsSpan FromItemsfrom_items_itemsImportEverythingfrom_items_annot FromItemSpanFromItemfrom_item_name from_as_namefrom_item_annotImportItemSpan ImportItemimport_item_nameimport_as_nameimport_item_annotDottedNameSpan DottedName SuiteSpanSuite ModuleSpanModule IdentSpanIdent ident_string ident_annot Annotatedannot ParseErrorStrErrorUnexpectedCharUnexpectedTokenP ParseStatelocationinput previousTokenstartCodeStack indentStack parenStacklastEOLcomments spanError initialState execParserexecParserKeepComments runParserreturnPthenP setLastEOL getLastEOL setLocation getLocationgetInputsetInput getLastToken setLastToken pushStartCode popStartCode getStartCode pushIndent popIndent getIndentgetIndentStackDepth pushParenpopParengetParengetParenStackDepth addComment getComments initLexStatelex lexOneTokenlexer parseModule parseStmt parseExprunescapeNumericpretty-1.0.1.2Text.PrettyPrint.HughesPJDoc fullRenderrender renderStylefcatfsepcatsep<+><>$+$$$nest zeroWidthTextptexttextcharisEmptyempty punctuatehangvcathsephcatbracesbracketsparens doubleQuotesquotesrationaldoublefloatintegerintrbracelbracerbracklbrackrparenlparenequalsspacecommacolonsemistyleribbonsPerLine lineLengthmodeStylePageMode ZigZagModeLeftMode OneLineModeModeChrStrPStr TextDetailsprettyMultiSpandotindent blankLine prettyStringprettyDottedName prettySuiteoptionalKeywordSuiteprettyParenListprettyOptionalList prettyGuardsprettyWithContextprettyHandlers internalError initTokenSubscriptSliceEllipsisSubscriptSlicesubscript_slice_span1subscript_slice_span2subscript_slice_span3 SubscriptExpr subscriptionsubscript_spanTrailer TrailerDottrailer_dot_identdot_spanTrailerSubscript trailer_subs TrailerCalltrailer_call_args trailer_spanmakeConditionalExpr makeBinOp parseError isProperSlicesubscriptToSlicesubscriptToExprsubscriptsToExpr addTrailermakeTupleOrExprmakeAssignmentOrExprmakeTry makeParam makeStarParammakeStarStarParammakeTupleParammakeComprehension makeListFormmakeSetmakeDictionary fromEither makeDecorator makeDecoratedmakeFun makeReturnmakeParenOrGenerator makePrint makeRelativecheckArgumentscheckParameters AlexInputAction StartCodeBOBOLBOFlineJoin endOfLine bolEndOfLine dedentation indentation symbolTokentokenendOfFileToken newlineToken atEOLorEOFnotEOF readBinary readFloat readFloatRestmkString stringTokenrawStringTokenbyteStringTokenrawByteStringToken openParen closeParen matchParenalexInputPrevChar alexGetCharmoveChar lexicalError readOctNoO dedentToken AlexAccPredAlexAccAlexAccSkipPred AlexAccSkip AlexLastAcc AlexLastSkipAlexNone AlexReturn AlexTokenAlexSkip AlexErrorAlexEOFAlexAddrAlexA# alex_base alex_table alex_check alex_defltinitStartCodeStacklexTokenlexContkeywordOrIdentkeywords keywordNamesbofboldedent HappyAddrHappyA#HappyStk Happy_IntList HappyConsHappyAny HappyAbsSynhappyIn6 happyOut6happyIn7 happyOut7happyIn8 happyOut8happyIn9 happyOut9 happyIn10 happyOut10 happyIn11 happyOut11 happyIn12 happyOut12 happyIn13 happyOut13 happyIn14 happyOut14 happyIn15 happyOut15 happyIn16 happyOut16 happyIn17 happyOut17 happyIn18 happyOut18 happyIn19 happyOut19 happyIn20 happyOut20 happyIn21 happyOut21 happyIn22 happyOut22 happyIn23 happyOut23 happyIn24 happyOut24 happyIn25 happyOut25 happyIn26 happyOut26 happyIn27 happyOut27 happyIn28 happyOut28 happyIn29 happyOut29 happyIn30 happyOut30 happyIn31 happyOut31 happyIn32 happyOut32 happyIn33 happyOut33 happyIn34 happyOut34 happyIn35 happyOut35 happyIn36 happyOut36 happyIn37 happyOut37 happyIn38 happyOut38 happyIn39 happyOut39 happyIn40 happyOut40 happyIn41 happyOut41 happyIn42 happyOut42 happyIn43 happyOut43 happyIn44 happyOut44 happyIn45 happyOut45 happyIn46 happyOut46 happyIn47 happyOut47 happyIn48 happyOut48 happyIn49 happyOut49 happyIn50 happyOut50 happyIn51 happyOut51 happyIn52 happyOut52 happyIn53 happyOut53 happyIn54 happyOut54 happyIn55 happyOut55 happyIn56 happyOut56 happyIn57 happyOut57 happyIn58 happyOut58 happyIn59 happyOut59 happyIn60 happyOut60 happyIn61 happyOut61 happyIn62 happyOut62 happyIn63 happyOut63 happyIn64 happyOut64 happyIn65 happyOut65 happyIn66 happyOut66 happyIn67 happyOut67 happyIn68 happyOut68 happyIn69 happyOut69 happyIn70 happyOut70 happyIn71 happyOut71 happyIn72 happyOut72 happyIn73 happyOut73 happyIn74 happyOut74 happyIn75 happyOut75 happyIn76 happyOut76 happyIn77 happyOut77 happyIn78 happyOut78 happyIn79 happyOut79 happyIn80 happyOut80 happyIn81 happyOut81 happyIn82 happyOut82 happyIn83 happyOut83 happyIn84 happyOut84 happyIn85 happyOut85 happyIn86 happyOut86 happyIn87 happyOut87 happyIn88 happyOut88 happyIn89 happyOut89 happyIn90 happyOut90 happyIn91 happyOut91 happyIn92 happyOut92 happyIn93 happyOut93 happyIn94 happyOut94 happyIn95 happyOut95 happyIn96 happyOut96 happyIn97 happyOut97 happyIn98 happyOut98 happyIn99 happyOut99 happyIn100 happyOut100 happyIn101 happyOut101 happyIn102 happyOut102 happyIn103 happyOut103 happyIn104 happyOut104 happyIn105 happyOut105 happyIn106 happyOut106 happyIn107 happyOut107 happyIn108 happyOut108 happyIn109 happyOut109 happyIn110 happyOut110 happyIn111 happyOut111 happyIn112 happyOut112 happyIn113 happyOut113 happyIn114 happyOut114 happyIn115 happyOut115 happyIn116 happyOut116 happyIn117 happyOut117 happyIn118 happyOut118 happyIn119 happyOut119 happyIn120 happyOut120 happyIn121 happyOut121 happyIn122 happyOut122 happyIn123 happyOut123 happyIn124 happyOut124 happyIn125 happyOut125 happyIn126 happyOut126 happyIn127 happyOut127 happyIn128 happyOut128 happyIn129 happyOut129 happyIn130 happyOut130 happyIn131 happyOut131 happyIn132 happyOut132 happyIn133 happyOut133 happyIn134 happyOut134 happyIn135 happyOut135 happyIn136 happyOut136 happyIn137 happyOut137 happyIn138 happyOut138 happyIn139 happyOut139 happyIn140 happyOut140 happyIn141 happyOut141 happyIn142 happyOut142 happyIn143 happyOut143 happyIn144 happyOut144 happyIn145 happyOut145 happyIn146 happyOut146 happyIn147 happyOut147 happyIn148 happyOut148 happyIn149 happyOut149 happyIn150 happyOut150 happyIn151 happyOut151 happyIn152 happyOut152 happyIn153 happyOut153 happyIn154 happyOut154 happyIn155 happyOut155 happyIn156 happyOut156 happyIn157 happyOut157 happyIn158 happyOut158 happyIn159 happyOut159 happyIn160 happyOut160 happyIn161 happyOut161 happyIn162 happyOut162 happyIn163 happyOut163 happyIn164 happyOut164 happyIn165 happyOut165 happyIn166 happyOut166 happyIn167 happyOut167 happyIn168 happyOut168 happyIn169 happyOut169 happyIn170 happyOut170 happyIn171 happyOut171 happyIn172 happyOut172 happyIn173 happyOut173 happyIn174 happyOut174 happyIn175 happyOut175 happyIn176 happyOut176 happyIn177 happyOut177 happyIn178 happyOut178 happyIn179 happyOut179 happyIn180 happyOut180 happyIn181 happyOut181 happyIn182 happyOut182 happyIn183 happyOut183 happyIn184 happyOut184 happyIn185 happyOut185 happyIn186 happyOut186 happyIn187 happyOut187 happyIn188 happyOut188 happyIn189 happyOut189 happyIn190 happyOut190 happyIn191 happyOut191 happyIn192 happyOut192 happyIn193 happyOut193 happyIn194 happyOut194 happyIn195 happyOut195 happyIn196 happyOut196 happyIn197 happyOut197 happyIn198 happyOut198 happyIn199 happyOut199 happyIn200 happyOut200 happyIn201 happyOut201 happyIn202 happyOut202 happyIn203 happyOut203 happyIn204 happyOut204 happyIn205 happyOut205 happyIn206 happyOut206 happyIn207 happyOut207 happyIn208 happyOut208 happyIn209 happyOut209 happyIn210 happyOut210 happyIn211 happyOut211 happyIn212 happyOut212 happyIn213 happyOut213 happyIn214 happyOut214 happyIn215 happyOut215 happyIn216 happyOut216 happyIn217 happyOut217 happyIn218 happyOut218 happyIn219 happyOut219 happyIn220 happyOut220 happyIn221 happyOut221 happyIn222 happyOut222 happyIn223 happyOut223 happyIn224 happyOut224 happyIn225 happyOut225 happyIn226 happyOut226 happyIn227 happyOut227 happyIn228 happyOut228 happyIn229 happyOut229 happyIn230 happyOut230 happyIn231 happyOut231 happyIn232 happyOut232 happyIn233 happyOut233 happyIn234 happyOut234 happyIn235 happyOut235 happyIn236 happyOut236 happyIn237 happyOut237 happyIn238 happyOut238 happyIn239 happyOut239 happyIn240 happyOut240 happyIn241 happyOut241 happyIn242 happyOut242 happyIn243 happyOut243 happyIn244 happyOut244 happyIn245 happyOut245 happyIn246 happyOut246 happyIn247 happyOut247 happyIn248 happyOut248 happyIn249 happyOut249 happyIn250 happyOut250 happyIn251 happyOut251 happyIn252 happyOut252 happyIn253 happyOut253 happyIn254 happyOut254 happyIn255 happyOut255 happyIn256 happyOut256 happyIn257 happyOut257 happyIn258 happyOut258 happyIn259 happyOut259 happyIn260 happyOut260 happyIn261 happyOut261 happyIn262 happyOut262 happyInTok happyOutTokhappyActOffsetshappyGotoOffsetshappyDefActions happyCheck happyTable happyThen happyReturn happyReturn1 happyError' notHappyAtAll happyTcHack happyDoSeq happyDontSeqparseFileInputparseSingleInput parseEval happyIn263 happyOut263