˛       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None     NoneB !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r~}|{zyxwvutsiqponmlkjehgfHdcba`_^]\[ZYXWVUTSRQPONMLKJIEGF>DCBA@?:;<=69785432 10/.-,+*)('&%$#"! 10/.-,+*)('&%$#"!23456978:;<=>DCBA@?EGFHdcba`_^]\[ZYXWVUTSRQPONMLKJIehgfiqponmlkjr~}|{zyxwvuts     None !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~m*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy}~#"! $%&')(*+,-./Jyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210z{|}~None\4A way to extract each type of feature from a class.  A list of all this class' features of the given type.  %Find this kind of feature in a class  "An existential type to aggregate : all features (routines, attributes, constants) together.   Wrap the   in the existential type.  A  1 can provide its name, arguments, contract, etc. The name of the feature. Argument declarations.  Result type. Precondition. Postconditions. "Whether the feature is frozen (can't be redefined). /Transform the feature given a renaming clause. Wrap up SomeFeature &Convert a constant into an attribute. +Fetch attributes from all feature clauses. )Fetch routines from all feature clauses. )Fetch contants from all feature clauses. 2Fetch creation routines from all feature clauses. 7Fetch attribute declarations from all feature clauses. 6Fetch constant declarations from all feature clauses. All inheritance clauses.  !All inherited classes, as types. !:Determine if a name is in the creation clause of a class. %#Set the feature clause of a class. &Update a routine body. 'LThese functions will update a class or feature clause with a transformation  function. KMap a transformation function over the routines in a class, replacing the E old routines with the transformed versions within a feature clause. < mapRoutines f = Map.map (over exportFeat (onlyRoutine f)) Monadic version of  mapRoutines. (?Map a transformation function over the attributes in a class, U replacing the old attributes with the transformed versions within a feature clause. )Monadic version of (. *KMap a transformation function over the constants in a class, replacing the F old constants with the transformed versions within a feature clause. : mapConstants f = Map.map (over exportFeat (onlyConst f)) KMap a transformation function over the contracts in a class, replacing the F old contracts with the transformed versions within a feature clause. +@Map a transformation function over all expressions in a class. H A transformation for features, constants, and attributes must be given C as if the type of expressions changes (ie, with a typecheck) then - all expressions types must change together. ,LMap a transformation function over the attributes in a class, replacing the > old attributes with the transformed versions within a class. -Monadic version of ,. .JMap a transformation function over the routines in a class, replacing the < old routines with the transformed versions within a class. /Monadic version of .. 0KMap a transformation function over the constants in a class, replacing the = old constants with the transformed versions within a class. 1@Map a transformation function over all expressions in a class. H A transformation for features, constants, and attributes must be given C as if the type of expressions changes (ie, with a typecheck) then H all expressions types must change together. This is performed on every  feature clause in a class. 2Strip the body from a routine. 3'Strip the contracts from an attribute. 4$Strip the bodies from all features. 53Strip the bodies and rescue clause from a routine. 6>Turn a list of classes into a map indexed by the class names. 79Extract a map of attribute names to types given a class. 8Find a routine in a class. 9/Find an operator (symbol sequence) in a class. :$Find the sum-type for all features. ;Find an existential  . <Find a routine by name. =&Find an attribute in a class by name. >$Find a constant by name in a class. ?2Given a class and a routine, given a unique name. @0Given to string construct a unique combination. AIGiven a class, create a list of generic classes for the formal generic  parameters of the class. B4Given a generic, construct a class for the generic. CRename a declaration. D+Rename a type, in the case of a like-type. ERename everything in a class. F&Undefine a single feature in a class. G,Undefine every specified name for a class. H6Specifies whether a class can be merged with another. I=Merge two classes, combining invariants and feature clauses. JMerge a list of classes. PConstruct a map from a routine' s arguments. QConstruct a map from a routine's declarations. R"Give the declarations of a routine' s locals. S=Operator aliases for user-level operators, ie, not including  =,  =, ~, and ~ T5Test if the binary operator is an equality operator. U-Unary operator aliases for everything except old. VConvert a class into its type. WXWhether a type is basic (where basic meaning its an integer, natural, real or boolean). X2A list of the number of integer bits (8, 16, ...) YFThe bounds on the range of values a integer or natural type can take. ZBoolean type test. [Integer type test. \Natural number type test. ]Real number type test. ^Character type test. `-List of integer type names (ie, INTEGER_32). a-List of integer type names (ie, NATURAL_32). b*List of integer type names (ie, REAL_64). c.List of integer type names (ie, CHARACTER_8). d5Given a type give the name of the class as a string. eThe default integer type. fThe default boolean type. gThe default real number type. hThe default character type. iThe default string type. jThe top type, ANY. k*Construct a simple type from a classname. l-Insert a declaration into a string-type map. m4Turn a list of declarations into a string-type map. n6Given a processor declaration, extract the processor. p      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmng      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmng      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnNone                   None" !"#$%&'()*+,-./012+-" !"#$%&'()*+,-./012 None333 None456789:;<=>?@ABCDEFGH456789:;<=>?@ABCDEFGH456789:;<=>?@ABCDEFGH NoneIJKIJKIJK NoneLMNOPQRSTUVWXYZ[\]^_`abcdefLMNOPQRSTUVWXYZ[\]^_`abcdefLMNOPQRSTUVWXYZ[\]^_`abcdefNoneghijklmnopqrstuvwxyz{|}ghijklmnopqrstuvwxyz{|}ghijklmnopqrstuvwxyz{|}None opqrstuvwxy opqrstuvwxy opqrstuvwxy opqrstuvwxyNoneEz{|}~~Dz{|}~Dz{|}~Ez{|}~~None !!"#$$%&'()*+,,-./0123456789:;<=>?@ABCCDEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"##$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrrstuvwxxyzz{|}~                                  !   " # $ %  & ' ( ) * + , - . / 0 1 2 3 4  5 6 7 7 8 9 : ; ; < = > ? @ A B C D E F G H I J K L M N OPQRSTUVWXYZ[-\]^_`abcdefglanguage-eiffel-0.1.2Language.Eiffel.PositionLanguage.Eiffel.SyntaxLanguage.Eiffel.UtilLanguage.Eiffel.ParserLanguage.Eiffel.PrettyPrintLanguage.Eiffel.SummaryLanguage.Eiffel.Parser.LexLanguage.Eiffel.Parser.TypLanguage.Eiffel.Parser.ExprLanguage.Eiffel.Parser.Clause Language.Eiffel.Parser.StatementLanguage.Eiffel.Parser.NoteLanguage.Eiffel.Parser.FeatureLanguage.Eiffel.Parser.Class parsec-3.1.3Text.Parsec.Pos sourceColumn sourceLine sourceNameLineColumn SourcePosPos inheritPostakePosattachEmptyPos attachPos attachPosM attachPosHereattachPosBeforepositioncontentsNotenoteTag noteContentClause clauseName clauseExprProcDeclCreateLessThanSubTopProcExprLessThan ElseIfPartAbsStmtBuiltInPrintDPrintDebugBlock CheckBlockCheckInspectRetryCallStmtLoopAcrossCreateMallocIf AssignAttemptAssign PosAbsStmt UnPosStmtStmt ClassNameProc unProcGenDotDecldeclNamedeclTypeTypNoTypeVoidTypeLikeSep TupleType ClassTypeQuantSomeAll UnPosExprLitType LitDoubleLitVoidLitBoolLitIntLitChar LitStringLitArray StaticCall CurrentVarOnceStr ResultVar VarOrCallTypedVar ManifestCast InlineAgentTuple CreateExprAgent AcrossExprAttachedAddressUnOpExpr BinOpExpr PrecursorCallLookupQualCall UnqualCallUnOpOldNegNotROpGteGtTildeNeqNeqTildeEqEqLtLteBinOpSymbolOpRelOpImpliesAndThenAndXorOrElseOrPowRemQuotDivMulSubAddExprConstant constFroz constDeclconstVal AttributeattrFrozattrDecl attrAssign attrNotesattrReqattrEns RoutineBody routineLocalroutineLocalProcs routineBodyRoutineExternal RoutineDefer AbsRoutine routineFroz routineName routineAlias routineArgs routineResultroutineAssigner routineNote routineProcs routineReq routineReqLk routineImpl routineEns routineEnsLk routineRescueContractcontractInheritedcontractClauses EmptyBodyRoutineRoutineWithBodyRoutineI FeatureClause exportNamesroutines attributes constants ConvertClause ConvertTo ConvertFrom CreateClausecreateExportNames createNamesGeneric genericNamegenericConstType genericCreate ExportClauseExportexportTo exportWhat ExportList ExportAllExportFeatureNames RenameClauseRename renameOrig renameNew renameAlias InheritClause inheritClassrenameexportundefineredefineselect InheritanceinheritNonConforminheritClauses SomeFeature SomeConstSomeAttr SomeRoutineExportedFeature _exportClass _exportFeat FeatureMap _fmRoutines_fmAttrs _fmConstsAbsClas frozenClass expandedClass deferredClass classNote classNamecurrProc procGenericprocExprgenerics obsoleteClassinheritcreatesconverts featureMapinvntsClasI ClasInterfaceClasBodyClasMap commaSepShowargsShow defaultCreatebracedshowCase showDefault exportClass exportFeatfmAttrsfmConsts fmRoutines ClassFeature allFeatures findFeature FeatureExFeature featureName featureArgs featureResult featurePre featurePostfeatureIsFrozen featureRenamewrapSomeFeature findFeature' constToAttr allAttributes allRoutines allConstants allHelper allCreatesallAttributeDeclsallConstantDecls allInheritedallInheritedTypes isCreateName toRoutineMbtoAttrMb toConstMb updFeatureMap updFeatBody mapRoutinesM mapAttributesmapAttributesM mapContractmapExprsclassMapAttributesclassMapAttributesMclassMapRoutinesclassMapRoutinesMclassMapConstants classMapExprs makeRoutineIsmakeAttributeI clasInterface makeRoutineIclasMapattrMap findRoutine findOperatorfindSomeFeature findFeatureExfindRoutineInt findAttrIntfindConstantIntfullName fullNameStr genericStubsmakeGenericStub renameDecl renameType renameAll undefineName undefineAllmergeableClass mergeClass mergeClasses fmMapKeys fmKeyFilterfmUnionfmEmptyfmUnionsargMaplocalMap routineDeclsopAlias equalityOp unOpAlias classToTypeisBasicintBits typeBounds isBooleanType isIntegerType isNaturalType isRealType isCharType isInTypeNamesintegerTypeNamesnaturalTypeNames realTypeNames charTypeNames classNameTypeintTypeboolTyperealTypecharType stringTypeanyType namedType insertDecl declsToMapnewVarnewError lexThenParselexThenParseFromFile countTokens parseStmt parseClassparseInterface parseClass' parseFromName classNameFileparseClassFilettext defaultIndentnestDefrenderWithTabsnewline emptyLineupstoDoctoInterfaceDocinterfaceBodyDoc toDocWith inheritanceinheritanceClauses inheritClause createClause convertClausefeatureClausesvsepcommaSep vCommaSepangleslanglerangle squareQuotesanyStringLiteral stringLiteralprocDoc genericsDocnotesnoteinvars procGenDocdecltypeDocfrozenrequireensureconstDocattrDoctype' routineDocroutineBodyDoclocals procExprs$?$ clausesDocclausestmtstmt'exprexprPrecexpr'quant condParensunopopListbinoprelopactArgsformArgsgenDoc procExprDlocksprocsprocprocMsepDocsummaryP parseSummary writeSummaryreadBinarySummarywriteBinarySummary$fBinarySourcePos $fFunctorPos $fShowPos$fEqPos$fNFDataSourcePos $fBinaryPos $fNFDataPos$fBinaryHashMap $fBinaryText $fShowAbsStmt $fShowTyp $fShowProc$fHashableProc $fShowDecl$fHashableDecl $fHashableTyp$fShowUnPosExpr $fBinaryTyp$fBinaryUnPosExpr $fBinaryBinOp $fBinaryQuant $fBinaryDecl $fBinaryUnOp $fBinaryROp$fBinaryAbsStmt$fBinaryElseIfPart$fBinaryProcExpr$fBinaryExportList$fBinaryExportClause$fBinaryRenameClause$fBinaryConstant$fBinaryAttribute$fBinaryAbsRoutine$fBinaryEmptyBody$fBinaryContract $fBinaryProc$fBinaryProcDecl$fBinaryGeneric$fBinaryClause$fBinaryFeatureClause$fBinaryConvertClause$fBinaryCreateClause$fBinaryInheritClause$fBinaryInheritance $fBinaryNote$fBinarySomeFeature$fBinaryFeatureMap$fBinaryExportedFeature$fBinaryAbsClas $fNFDataTyp$fNFDataUnPosExpr $fNFDataBinOp $fNFDataQuant $fNFDataDecl $fNFDataUnOp $fNFDataROp$fNFDataAbsStmt$fNFDataElseIfPart$fNFDataProcExpr$fNFDataExportList$fNFDataExportClause$fNFDataRenameClause$fNFDataConstant$fNFDataAttribute$fNFDataAbsRoutine$fNFDataRoutineBody$fNFDataEmptyBody$fNFDataContract $fNFDataProc$fNFDataProcDecl$fNFDataGeneric$fNFDataClause$fNFDataFeatureClause$fNFDataConvertClause$fNFDataCreateClause$fNFDataInheritClause$fNFDataInheritance $fNFDataNote$fNFDataSomeFeature$fNFDataExportedFeature$fNFDataFeatureMap$fNFDataAbsClas AlexAccPredAlexAccAlexAccSkipPred AlexAccSkip AlexLastAcc AlexLastSkipAlexNone AlexReturn AlexTokenAlexSkip AlexErrorAlexEOFAlexAddrAlexA# AlexUserState BlStrNewLMidLine LineStart SpanTokenspanP spanTokenParserTokenLexErrorEOFTokAs TokInvariantTokRequireElse TokRequire TokEnsureThen TokEnsureTokSomeTokAll TokUndefine TokSelect TokRename TokRedefine TokExport TokAttribute TokDeferredTokLocal TokFeature TokExpanded TokFrozen TokSeparate TokDetachableTokLike TokPrecursor TokCurrent TokResult TokConvert TokCreateTokDebugTokCheckTokNote TokInheritTokClass TokBuiltin TokObsolete TokExternal TokRescueTokRetryTokOnceTokEndTokDoTokIs TokVariantTokLoopTokUntilTokFrom TokElseIfTokElseTokThenTokIfTokWhen TokInspect TokAttached TokAcross TokAssignTokAliasTokAgentTokOldTokNotTokVoidTokFalseTokTrueIntegerFloatOperatorArrayEnd ArrayStartParenChar BlockStringStringSymbol Identifier BinOpInfoPrecAssoc AssocRight AssocLeft AlexActionAlexunAlex AlexStatealex_posalex_inpalex_chralex_scdAlexPosnAlexPn AlexInputBytealexInputPrevChar alexGetByte alexStartPosalexMoverunAlex alexGetInput alexSetInput alexErroralexGetStartCodealexSetStartCode alexMonadScanskipbeginandBegintoken alex_base alex_table alex_check alex_deflt alex_accepttokenMap opInfoTokoperator operatorMaptokConstlookupIdentifierbsToTextwithPosbsHexToInteger alexGetCharblockStringLex processString alexPosnToPos grabTokenopSymbolsymbolF identifieridentifierNamedopNamedopInfo arrayStartarrayEndperiodsymbol semicoloncommacolonlbrakrbraklparenrparenlsquarersquarebracessquaresparensattachTokenPos binOpToken anyStringTokblockStringTok stringTokcharTokboolTok integerTokfloatTokkeywordignorePendingBytesalexInitUserStatealexEOF runTokenizer tokenizer tokenizeFile alex_action_2 alex_action_3 alex_action_4 alex_action_5 alex_action_6 alex_action_7 alex_action_8 alex_action_9alex_action_10alex_action_11alex_action_12alex_action_13alex_action_14alex_action_15alex_action_16alex_action_17alex_action_18alex_action_19alex_action_20alex_action_21alexIndexInt16OffAddralexIndexInt32OffAddr quickIndexalexScan alexScanUser alex_scan_tkn alexAndPredalexPrevCharIsalexPrevCharMatchesalexPrevCharIsOneOfalexRightContextiUnbox$fFunctorAlexLastAcc$fNFDataSpanToken $fNFDataToken $fMonadAlex$fClassFeatureFeatureExbodyexpr$fClassFeatureAttributebodyexpr $fClassFeatureAbsRoutinebodyexpr$fClassFeatureConstantbodyexpr$fFeatureConstantexpr$fFeatureAttributeexpr$fFeatureAbsRoutineexpr$fFeatureSomeFeatureexpr$fFeatureFeatureExexprlikeTypclassTyptupleTypdetTypattTyptypbaseTypsepTypdecl' argumentListfactor factorUnPos unaryExpr onceStringaddressmanifestarrayLitacrosstuplequestionagent inlineAgent varOrCallcall' precursorCall staticCall stringLitcharLittypeLitOrManifestattached createExprvoidargsPisCallcall varAttrCallvar resultVar currentVarintLit doubleLitboolLitbareStmtstmtsstmts'retryinspectcheckblockPosblockifStmtelsePifelsePcreateloopassignIdassignAttemptIdcallStmtassign assignAttemptdebug noteEntrynoteItem NameAlias featureFrozenfeatureHeadName featureAlias FeatureHeadfHeadNameAliases fHeadArgsfHeadRes FeatParser nameAlias featureHeadroutinerescuePassignerallowedAliasesaliasobsoletewhichOfrequiresensuresexternal routineImplPdeferredfullRoutineBodyfeatBody genericsPgenericP invariantsinheritsinheritPinheritClausePrenameP renameNameexportP undefineP redefinePselectP convertsPconvertabsClasabsFeatureSectsabsFeatureSect constWithHead attrWithHead featureMemberclasclasInterfaceP $fHashableSet