]o      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NoneD#BEncode a Haskell String to a list of Word8 values, in UTF8 format.o  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnolm  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijknk  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmSafe16*uAn assignment operator.A binary infix operator.,A literal denotes a fixed, unchanging value.*u~}|{zyxwvu vwxyz{|}~Safe16< 4A name, i.e. a period-separated list of identifiers.A single identifier.A class is generic if it declares one or more type variables. These type variables are known as the type parameters of the class.bA primitive type is predefined by the Java programming language and named by its reserved keyword.6Wildcards may be given explicit bounds, either upper (extends ) or lower (super ) bounds.:Type arguments may be either reference types or wildcards.A class or interface type consists of a type declaration specifier, optionally followed by type arguments (in which case it is a parameterized type).-There are three kinds of reference types: class types, interface types, and array types. Reference types may be parameterized with type arguments. Type variables cannot be syntactically distinguished from class type identifiers, and are thus represented uniformly as single ident class types.TypeVariable Ident cThere are two kinds of types in the Java programming language: primitive types and reference types.# Safe16`fAn array initializer may be specified in a declaration, or as part of an array creation expression, creating an array and providing some initial valuesLA method invocation expression is used to invoke a class or instance method.!Invoking a specific named method.rInvoking a method of a class computed from a primary expression, giving arguments for any generic type parameters.WInvoking a method of the super class, giving arguments for any generic type parameters.gInvoking a method of the superclass of a named class, giving arguments for any generic type parameters.TInvoking a method of a named type, giving arguments for any generic type parameters.'Lambda expression, starting from java 8A field access expression may access a field of an object or array, a reference to which is the value of either an expression or the special keyword super.DAccessing a field of an object or array computed from an expression.$Accessing a field of the superclass.,Accessing a (static) field of a named class. Array accessIndex into an arrayThe left-hand side of an assignment expression. This operand may be a named variable, such as a local variable or a field of the current object or class, or it may be a computed variable, as can result from a field access or an array access.Assign to a variableAssign through a field accessAssign to an arrayA Java expression.,A literal denotes a fixed, unchanging value.A class literal, which is an expression consisting of the name of a class, interface, array, or primitive type, or the pseudo-type void (modelled by ), followed by a  and the token class. The keyword this denotes a value that is a reference to the object for which the instance method was invoked, or to the object being constructed.^Any lexically enclosing instance can be referred to by explicitly qualifying the keyword this.pA class instance creation expression is used to create new objects that are instances of classes. | The first argument is a list of non-wildcard type arguments to a generic constructor. What follows is the type to be instantiated, the list of arguments passed to the constructor, and optionally a class body that makes the constructor result in an object of an  anonymous class.A qualified class instance creation expression enables the creation of instances of inner member classes and their anonymous subclasses.An array instance creation expression is used to create new arrays. The last argument denotes the number of dimensions that have no explicit length given. These dimensions must be given last.An array instance creation expression may come with an explicit initializer. Such expressions may not be given explicit lengths for any of its dimensions.A field access expression.A method invocation expression.PAn array access expression refers to a variable that is a component of an array.$An expression name, e.g. a variable.?Post-incrementation expression, i.e. an expression followed by ++.?Post-decrementation expression, i.e. an expression followed by --.>Pre-incrementation expression, i.e. an expression preceded by ++.>Pre-decrementation expression, i.e. an expression preceded by --.UUnary plus, the promotion of the value of the expression to a primitive numeric type.fUnary minus, the promotion of the negation of the value of the expression to a primitive numeric type.8Unary bitwise complementation: note that, in all cases, ~x equals (-x)-1.*Logical complementation of boolean values.@A cast expression converts, at run time, a value of one numeric type to a similar value of another numeric type; or confirms, at compile time, that the type of an expression is boolean; or checks, at run time, that a reference value refers to an object whose class is compatible with a specified reference type.@The application of a binary operator to two operand expressions.RTesting whether the result of an expression is an instance of some reference type.The conditional operator ? :j uses the boolean value of one expression to decide which of two other expressions should be evaluated.8Assignment of the result of an expression to a variable.Lambda expressionMethod reference6Arguments to methods and constructors are expressions.<An exception type has to be a class type or a type variable. Initialization code for a basic for statement.A label within a switch statement. The expression contained in the case must be a  or an enum constant. A block of code labelled with a case or default within a switch statement.If a value is thrown and the try statement has one or more catch clauses that can catch it, then control will be transferred to the first such catch clause.A Java statement."A statement can be a nested block.The if-then7 statement allows conditional execution of a statement.The  if-then-else` statement allows conditional choice of two statements, executing one or the other but not both.The whileh statement executes an expression and a statement repeatedly until the value of the expression is false. The basic for statement executes some initialization code, then executes an expression, a statement, and some update code repeatedly until the value of the expression is false.  The enhanced forL statement iterates over an array or a value of a class that implements the iterator interface.  An empty statement does nothing. Certain kinds of expressions may be used as statements by following them with semicolons: assignments, pre- or post-inc- or decrementation, method invocation or class instance creation expressions. An assertion is a statement containing a boolean expression, where an error is reported if the expression evaluates to false. lThe switch statement transfers control to one of several statements depending on the value of an expression.The doh statement executes a statement and an expression repeatedly until the value of the expression is false.A break; statement transfers control out of an enclosing statement.A continue statement may occur only in a while, do, or for statement. Control passes to the loop-continuation point of that statement.A  synchronized statement acquires a mutual-exclusion lock on behalf of the executing thread, executes a block, then releases the lock. While the executing thread owns the lock, no other thread may acquire the lock.A throw, statement causes an exception to be thrown.A try statement executes a block. If a value is thrown and the try statement has one or more catch clauses that can catch it, then control will be transferred to the first such catch clause. If the try statement has a finally clause, then another block of code is executed, no matter whether the try block completes normally or abruptly, and no matter whether a catch clause is first given control.#Statements may have label prefixes.mA block statement is either a normal statement, a local class declaration or a local variable declaration.yA block is a sequence of statements, local class declarations and local variable declaration statements within braces.=Annotations may contain annotations or (loosely) expressionsYAnnotations have three different forms: no-parameter, single-parameter or key-value pairs&A modifier specifying properties of a given declaration. In general only a few of these modifiers are allowed for each declaration type, for instance a member type declaration may only specify one of public, private or protected.3An explicit constructor invocation invokes another constructor of the same class, or a constructor of the direct superclass, which may be qualified to explicitly specify the newly created object's immediately enclosing instance.7The first statement of a constructor body may be an explicit invocation of another constructor of the same class or of the direct superclass.9A method body is either a block of code that implements the method or simply a semicolon, indicating the lack of an implementation (modelled by ).;A formal parameter in method declaration. The last parameter for a given declaration may be marked as variable arity, indicated by the boolean argument.=0Explicit initializer for a variable declaration.@?The name of a variable in a declaration, which may be an array.BCMulti-dimensional arrays are represented by nested applications of B.CAA declaration of a variable, which may be explicitly initialized.EA class or interface member can be an inner class or interface, a field or constant, or a method or constructor. An interface may only have as members constants (not fields), abstract methods, and no constructors.FCThe variables of a class type are introduced by field declarations.GeA method declares executable code that can be invoked, passing a fixed number of values as arguments.HRA constructor is used in the creation of an object that is an instance of a class.IkA member class is a class whose declaration is directly enclosed in another class or interface declaration.JtA member interface is an interface whose declaration is directly enclosed in another class or interface declaration.KiA declaration is either a member declaration, or a declaration of an initializer, which may be static.N>The body of an interface may declare members of the interface.P@Interface can declare either a normal interface or an annotationSAn interface declaration introduces a new reference type whose members are classes, interfaces, constants and abstract methods. This type has no implementation, but otherwise unrelated classes can implement it by providing implementations for its abstract methods.U6An enum constant defines an instance of the enum type.W4The body of an enum type may contain enum constants.YA class body may contain declarations of members of the class, that is, fields, classes, interfaces and methods. A class body may also contain instance initializers, static initializers, and declarations of constructors for the class.[9A class declaration specifies a new named reference type.^>A type declaration declares a class type or an interface type.aUAn import declaration allows a static member or a named type to be referred to by a single unqualified identifier. The first argument signals whether the declaration only imports static members. The last argument signals whether the declaration brings all names in the named type or package, or only brings a single name into scope.cvA package declaration appears within a compilation unit to indicate the package to which the compilation unit belongs.eLA compilation unit is the top level syntactic goal symbol of a Java program.uvwxyz{|}~      !"#$%&+1'()*,-./023456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghefcdab^_`[\]YZWXUVSTNOPQRKLMEFGHIJCD@AB=>?;<9:783456&'()*+,-./012 !"#$#%#gh     uvwxyz{|}~&      !"#$#%#& '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefSafe')(*+,-./0123456789:;H*+'()nmlkjihgfedcba`_^]\[Z,YXWVUTSRQPONMLKJIHG-FEDCBA@?>./0123=<456789:;'()None0opqrstuvwxyz{|}~0opqrstuvwxyz{|}~22      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsstuvwxyz{|}~      !"#$%&'()*+,,--../01234556789:;<6=>>?@ABBCCDDEEFFGHIJKKLLMMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~*language-java-0.2.9-8SHSkWKuSlA2Zpb5djZWddLanguage.Java.LexerLanguage.Java.SyntaxLanguage.Java.PrettyLanguage.Java.ParserLanguage.Java.Syntax.ExpLanguage.Java.Syntax.TypesToken KW_AbstractKW_AnnInterface KW_Assert KW_BooleanKW_BreakKW_ByteKW_CaseKW_CatchKW_CharKW_ClassKW_Const KW_Continue KW_DefaultKW_Do KW_DoubleKW_ElseKW_Enum KW_ExtendsKW_Final KW_FinallyKW_FloatKW_ForKW_GotoKW_If KW_Implements KW_Import KW_InstanceofKW_Int KW_InterfaceKW_Long KW_NativeKW_New KW_Package KW_Private KW_Protected KW_Public KW_ReturnKW_Short KW_Static KW_StrictfpKW_Super KW_SwitchKW_SynchronizedKW_ThisKW_Throw KW_Throws KW_TransientKW_TryKW_Void KW_VolatileKW_While OpenParen CloseParen OpenSquare CloseSquare OpenCurly CloseCurly SemiColonCommaPeriod LambdaArrow MethodRefSepIntTokLongTok DoubleTokFloatTokCharTok StringTokBoolTokNullTokIdentTokOp_EqualOp_GThanOp_LThanOp_BangOp_TildeOp_QueryOp_Colon Op_Equals Op_LThanE Op_GThanEOp_BangEOp_AAndOp_OOrOp_PPlus Op_MMinusOp_PlusOp_MinusOp_StarOp_SlashOp_AndOp_OrOp_Caret Op_Percent Op_LShiftOp_PlusE Op_MinusEOp_StarE Op_SlashEOp_AndEOp_OrE Op_CaretE Op_PercentE Op_LShiftE Op_RShiftE Op_RRShiftE Op_AtSignLlexer $fEqAlexPosn$fShowAlexPosn$fShowL$fEqL $fShowToken $fEqTokenAssignOpEqualAMultADivARemAAddASubALShiftARShiftARRShiftAAndAXorAOrAOpMultDivRemAddSubLShiftRShiftRRShiftLThanGThanLThanEGThanEEqualNotEqAndOrXorCAndCOrLiteralIntWordFloatDoubleBooleanCharStringNullNameIdent TypeParamPrimTypeBooleanTByteTShortTIntTLongTCharTFloatTDoubleT WildcardBound ExtendsBound SuperBoundDiamondTypeDeclSpecifierTypeDeclSpecifierWithDiamond'TypeDeclSpecifierUnqualifiedWithDiamond TypeArgumentWildcard ActualType ClassTypeRefType ClassRefType ArrayTypeType ArrayInitMethodInvocation MethodCallPrimaryMethodCallSuperMethodCallClassMethodCallTypeMethodCallLambdaExpression LambdaBlock LambdaParamsLambdaSingleParamLambdaFormalParamsLambdaInferredParams FieldAccessPrimaryFieldAccessSuperFieldAccessClassFieldAccess ArrayIndexLhsNameLhsFieldLhsArrayLhsExpLitClassLitThis ThisClassInstanceCreationQualInstanceCreation ArrayCreateArrayCreateInit MethodInv ArrayAccessExpName PostIncrement PostDecrement PreIncrement PreDecrementPrePlusPreMinus PreBitComplPreNotCastBinOp InstanceOfCondAssignLambda MethodRefArgument ExceptionTypeForInit ForLocalVars ForInitExps SwitchLabel SwitchCaseDefault SwitchBlockCatchStmt StmtBlockIfThen IfThenElseWhileBasicFor EnhancedForEmptyExpStmtAssertSwitchDoBreakContinueReturn SynchronizedThrowTryLabeled BlockStmt LocalClass LocalVarsBlock ElementValueEVValEVAnn AnnotationNormalAnnotationSingleElementAnnotationMarkerAnnotationannNameannKVannValueModifierPublicPrivate ProtectedAbstractFinalStaticStrictFP TransientVolatileNative Synchronized_ ExplConstrInv ThisInvoke SuperInvokePrimarySuperInvokeConstructorBody MethodBody FormalParamVarInitInitExp InitArray VarDeclIdVarId VarDeclArrayVarDecl MemberDecl FieldDecl MethodDeclConstructorDeclMemberClassDeclMemberInterfaceDeclDeclInitDecl InterfaceBody InterfaceKindInterfaceNormalInterfaceAnnotation InterfaceDecl EnumConstantEnumBody ClassBody ClassDeclEnumDeclTypeDecl ClassTypeDeclInterfaceTypeDecl ImportDecl PackageDeclCompilationUnitdesugarAnnotationdesugarAnnotation'$fShowModifier$fEqPackageDecl$fShowPackageDecl$fReadPackageDecl$fGenericPackageDecl$fDataPackageDecl$fEqImportDecl$fShowImportDecl$fReadImportDecl$fGenericImportDecl$fDataImportDecl$fEqInterfaceKind$fShowInterfaceKind$fReadInterfaceKind$fGenericInterfaceKind$fDataInterfaceKind $fEqVarDeclId$fShowVarDeclId$fReadVarDeclId$fGenericVarDeclId$fDataVarDeclId $fEqArrayInit$fShowArrayInit$fReadArrayInit$fGenericArrayInit$fDataArrayInit $fEqVarInit $fShowVarInit $fReadVarInit$fGenericVarInit $fDataVarInit$fEqExp $fShowExp $fReadExp $fGenericExp $fDataExp$fEqMethodInvocation$fShowMethodInvocation$fReadMethodInvocation$fGenericMethodInvocation$fDataMethodInvocation$fEqLambdaExpression$fShowLambdaExpression$fReadLambdaExpression$fGenericLambdaExpression$fDataLambdaExpression $fEqBlock $fShowBlock $fReadBlock$fGenericBlock $fDataBlock $fEqBlockStmt$fShowBlockStmt$fReadBlockStmt$fGenericBlockStmt$fDataBlockStmt$fEqStmt $fShowStmt $fReadStmt $fGenericStmt $fDataStmt $fEqForInit $fShowForInit $fReadForInit$fGenericForInit $fDataForInit $fEqModifier$fReadModifier$fGenericModifier$fDataModifier$fEqAnnotation$fShowAnnotation$fReadAnnotation$fGenericAnnotation$fDataAnnotation$fEqElementValue$fShowElementValue$fReadElementValue$fGenericElementValue$fDataElementValue $fEqVarDecl $fShowVarDecl $fReadVarDecl$fGenericVarDecl $fDataVarDecl$fEqSwitchBlock$fShowSwitchBlock$fReadSwitchBlock$fGenericSwitchBlock$fDataSwitchBlock$fEqSwitchLabel$fShowSwitchLabel$fReadSwitchLabel$fGenericSwitchLabel$fDataSwitchLabel $fEqCatch $fShowCatch $fReadCatch$fGenericCatch $fDataCatch$fEqFormalParam$fShowFormalParam$fReadFormalParam$fGenericFormalParam$fDataFormalParam $fEqClassDecl$fShowClassDecl$fReadClassDecl$fGenericClassDecl$fDataClassDecl $fEqEnumBody$fShowEnumBody$fReadEnumBody$fGenericEnumBody$fDataEnumBody$fEqDecl $fShowDecl $fReadDecl $fGenericDecl $fDataDecl$fEqMemberDecl$fShowMemberDecl$fReadMemberDecl$fGenericMemberDecl$fDataMemberDecl$fEqConstructorBody$fShowConstructorBody$fReadConstructorBody$fGenericConstructorBody$fDataConstructorBody$fEqExplConstrInv$fShowExplConstrInv$fReadExplConstrInv$fGenericExplConstrInv$fDataExplConstrInv$fEqMethodBody$fShowMethodBody$fReadMethodBody$fGenericMethodBody$fDataMethodBody$fEqInterfaceDecl$fShowInterfaceDecl$fReadInterfaceDecl$fGenericInterfaceDecl$fDataInterfaceDecl$fEqInterfaceBody$fShowInterfaceBody$fReadInterfaceBody$fGenericInterfaceBody$fDataInterfaceBody$fEqEnumConstant$fShowEnumConstant$fReadEnumConstant$fGenericEnumConstant$fDataEnumConstant $fEqClassBody$fShowClassBody$fReadClassBody$fGenericClassBody$fDataClassBody$fEqLambdaParams$fShowLambdaParams$fReadLambdaParams$fGenericLambdaParams$fDataLambdaParams$fEqFieldAccess$fShowFieldAccess$fReadFieldAccess$fGenericFieldAccess$fDataFieldAccess$fEqArrayIndex$fShowArrayIndex$fReadArrayIndex$fGenericArrayIndex$fDataArrayIndex$fEqLhs $fShowLhs $fReadLhs $fGenericLhs $fDataLhs $fEqTypeDecl$fShowTypeDecl$fReadTypeDecl$fGenericTypeDecl$fDataTypeDecl$fEqCompilationUnit$fShowCompilationUnit$fReadCompilationUnit$fGenericCompilationUnit$fDataCompilationUnitPrettypretty prettyPrec prettyPrint parenPrecppEVListppArgs ppTypeParams ppImplements ppExtendsppThrows ppDefault ppResultTypeprettyNestedStmtmaybePPopt braceBlockopPrec escapeGeneral escapeChar escapeString $fPrettyIdent $fPrettyName$fPrettyTypeParam$fPrettyPrimType$fPrettyWildcardBound$fPrettyDiamond$fPrettyTypeDeclSpecifier$fPrettyTypeArgument$fPrettyClassType$fPrettyRefType $fPrettyType$fPrettyArrayInit$fPrettyMethodInvocation$fPrettyFieldAccess$fPrettyArrayIndex $fPrettyLhs$fPrettyAssignOp $fPrettyOp$fPrettyLiteral$fPrettyLambdaExpression$fPrettyLambdaParams $fPrettyExp$fPrettyForInit$fPrettySwitchLabel$fPrettySwitchBlock $fPrettyCatch $fPrettyStmt$fPrettyBlockStmt $fPrettyBlock$fPrettyElementValue$fPrettyAnnotation$fPrettyModifier$fPrettyExplConstrInv$fPrettyConstructorBody$fPrettyMethodBody$fPrettyFormalParam$fPrettyVarInit$fPrettyVarDeclId$fPrettyVarDecl$fPrettyMemberDecl $fPrettyDecl$fPrettyInterfaceBody$fPrettyInterfaceDecl$fPrettyEnumConstant$fPrettyEnumBody$fPrettyClassBody$fPrettyClassDecl$fPrettyTypeDecl$fPrettyImportDecl$fPrettyPackageDecl$fPrettyCompilationUnitparsercompilationUnit packageDecl importDecltypeDecl classDecl interfaceDecl memberDecl fieldDecl methodDecl constrDeclinterfaceMemberDecl absMethodDecl formalParams formalParammodifiervarDeclsvarDeclblock blockStmtstmtstmtExpexpprimary lambdaExp methodRefliteralttypeprimTyperefType classType resultType typeParams typeParamnameidentemptyboptloptlistlist1seplistseplist1commacolon semiColonperiod utf8EncodeAlexAcc AlexAccNone AlexAccSkip AlexLastAccAlexNone AlexLastSkip AlexReturnAlexEOF AlexErrorAlexSkip AlexTokenAlexAddrAlexA#AlexPosnAlexPnbaseGHC.BaseNothing.>>>>=