h&d      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred 789:>?   !"#$%&'()*+,-./012345tVH6789:;<=>?@ABCDEFGIJKLMNOPQRSTUWXYZ[\]^_`abcdefghijklmnopqrsuvwxyz{|}~  Safe-Inferred7:>?  Safe-Inferred ;  Safe-Inferred$%  Safe-Inferred:B  Safe-Inferred4789:cimpleEncode a Haskell String to a list of Word8 values, in UTF8 format. Safe-Inferred9 9  Safe-Inferred$%1 3   Safe-Inferred!  Safe-Inferred   '&%$#"! (3210/.-,+)*45~}|{zyxwvusrqponmlkjihgfedcba`_^]\[ZYXWUTSRQPONMLKJIGFEDCBA@?>=<;:9876HtV()*+,-./0123 !"#$%&'   45tVH6789:;<=>?@ABCDEFGIJKLMNOPQRSTUWXYZ[\]^_`abcdefghijklmnopqrsuvwxyz{|}~ Safe-Inferredcimple8Annotated Doc which is passed upwards through the fold. * is the accumulated pretty-printed code.  states whether the current statement should end in a semicolon ';'. E.g. function definitions don't, while function declarations do.cimpleWhether a node needs a semicolon at the end when it's a statement or declaration.cimple Copy the  from another  to a newly created doc. Safe-Inferred  Safe-Inferred9 Safe-Inferred$%h Safe-Inferred$%12   Safe-Inferred9 9  Safe-InferredP !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                   cimple-0.0.13-inplaceLanguage.CimpleLanguage.Cimple.MapAstLanguage.Cimple.DiagnosticsLanguage.Cimple.PrettyLanguage.Cimple.ProgramLanguage.Cimple.TraverseAstLanguage.Cimple.IOLanguage.Cimple.AstLanguage.Cimple.AnnotLanguage.Cimple.FlattenLanguage.Cimple.GraphLanguage.Cimple.TokensLanguage.Cimple.LexerLanguage.Cimple.ParserLanguage.Cimple.TranslationUnit!Language.Cimple.SemCheck.IncludesLanguage.Cimple.TreeParser CommentStyleRegularDoxygenBlockScopeGlobalStatic LiteralTypeCharIntBoolStringConstIdUnaryOpUopNotUopNegUopMinus UopAddressUopDerefUopIncrUopDecrBinaryOpBopNeBopEqBopOr BopBitXorBopBitOrBopAnd BopBitAndBopDivBopMulBopModBopPlusBopMinusBopLtBopLeBopLshBopGtBopGeBopRshAssignOpAopEqAopMulAopDivAopPlusAopMinus AopBitAndAopBitOr AopBitXorAopModAopLshAopRshNodeNodeFPreprocInclude PreprocDefinePreprocDefineConstPreprocDefineMacro PreprocIf PreprocIfdef PreprocIfndef PreprocElse PreprocElif PreprocUndefPreprocDefinedPreprocScopedDefine MacroBodyStmtMacroBodyFunCall MacroParam StaticAssert LicenseDecl CopyrightDeclComment CommentBlock CommentedExternC CompoundStmtBreakGotoContinueReturn SwitchStmtIfStmtForStmt WhileStmt DoWhileStmtCaseDefaultLabelVLA VarDeclStmtVarDecl DeclSpecArrayInitialiserList UnaryExpr BinaryExpr TernaryExpr AssignExpr ParenExprCastExpr CompoundExpr SizeofExpr SizeofType LiteralExprVarExpr MemberAccess PointerAccess ArrayAccess FunctionCall CommentExpr EnumConstsEnumDecl EnumeratorTypedefTypedefFunctionStructUnion MemberDeclTyConst TyPointerTyStructTyFuncTyStd TyUserDefined FunctionDecl FunctionDefnFunctionPrototypeEllipsis ConstDecl ConstDefn AnnotNodeAnnotFAnnotattrunAnnotaddAnnot removeAnnot LexemeClassIdConst IdFuncType IdStdType IdSueTypeIdVarKwBreakKwCaseKwConst KwContinue KwDefaultKwDoKwElseKwEnumKwExternKwForKwGotoKwIfKwReturnKwSizeofKwStaticKwStaticAssertKwStructKwSwitch KwTypedefKwUnionKwVlaKwVoidKwWhileLitFalseLitTrueLitChar LitInteger LitString LitSysInclude PctAmpersandPctAmpersandAmpersandPctAmpersandEqPctArrow PctAsterisk PctAsteriskEqPctCaret PctCaretEqPctColonPctComma PctEllipsisPctEMark PctEMarkEqPctEqPctEqEq PctGreater PctGreaterEqPctGreaterGreaterPctGreaterGreaterEq PctLBrace PctLBrackPctLess PctLessEq PctLessLess PctLessLessEq PctLParenPctMinus PctMinusEq PctMinusMinus PctPeriod PctPercent PctPercentEqPctPipe PctPipeEq PctPipePipePctPlus PctPlusEq PctPlusPlusPctQMark PctRBrace PctRBrack PctRParen PctSemicolonPctSlash PctSlashEqPctTildePpDefine PpDefinedPpElifPpElsePpEndifPpIfPpIfdefPpIfndef PpInclude PpNewlinePpUndefCmtBlock CmtIndentCmtStart CmtStartBlock CmtStartDocCmtSpdxCopyrightCmtSpdxLicenseCmtCodeCmtWordCmtRefCmtEndErrorEofLexemeLAlexAlexPosnAlexPnrunAlex alexError alexMonadScanmkL lexemePosn lexemeClass lexemeText lexemeLinealexScanTokensparseTranslationUnitIdentityActions TextActionsdoFilesdoFiledoNodesdoNode doLexemesdoLexemedoTextmapAst astActions textActionsidentityActions$fMapAstitextotext[]$fMapAstitextotext(,)$fMapAstitextotext[]0$fMapAstitextotextFix$fMapAstitextotext[]1$fMapAstitextotextLexeme$fMapAstitextotextMaybeslocHasDiagnostics addDiagnostic Diagnosticswarn$fHasDiagnostics[]$fHasLocationFix$fHasLocationLexemeDefaultActionsdefaultActions removeSlocppTranslationUnitshowNodeProgramtoList includeGraphfromList AstActions traverseAst$fTraverseAsttext[]$fTraverseAsttext(,)$fTraverseAsttext[]0$fTraverseAsttextFix$fTraverseAsttext[]1$fTraverseAsttextLexeme$fTraverseAsttextMaybe parseText parseFile parseFiles parseProgramlexemesGraph fromEdgesedges utf8EncodeHappyStkADocbase Data.Tuplefstsnd NeedsSemicpTranslationUnitcollectIncludesnormaliseIncludes TreeParsertoEither