123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236(**************************************************************************)(* *)(* This file is part of WP plug-in of Frama-C. *)(* *)(* Copyright (C) 2007-2024 *)(* CEA (Commissariat a l'energie atomique et aux energies *)(* alternatives) *)(* *)(* you can redistribute it and/or modify it under the terms of the GNU *)(* Lesser General Public License as published by the Free Software *)(* Foundation, version 2.1. *)(* *)(* It is distributed in the hope that it will be useful, *)(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)(* GNU Lesser General Public License for more details. *)(* *)(* See the GNU Lesser General Public License version 2.1 *)(* for more details (enclosed in the file licenses/LGPLv2.1). *)(* *)(**************************************************************************)(** This the API of the WP plug-in *)(* -------------------------------------------------------------------------- *)(** {1 High-Level External API}
The following modules are the recommanded entry points for using WP
programmatically. They are meant to be relatively stable over time.
*)(* -------------------------------------------------------------------------- *)(** WP Proof Obligation Generator and Management *)moduleVC=VC(** Provers and Proof Obligations Results *)moduleVCS=VCS(** WP Plugin Interface *)moduleWp_parameters=Wp_parameters(* -------------------------------------------------------------------------- *)(** {1 Advanced Usage API}
The following modules entry points for using WP advanced features,
such as proof obligation manipulation, tactics and strategies.
These modules might expose internal features of WP that are subject
to change. Developpers using this API are encouraged to contact us
for a roadmap information and further collaboration.
*)(* -------------------------------------------------------------------------- *)(** High-Level Term Representation *)moduleRepr=Repr(** Low-Level Logic Terms and Predicates *)moduleLang=Lang(** Generated Logic Definitions *)moduleDefinitions=Definitions(** Proof Task and Simplifiers *)moduleConditions=Conditions(** Tactics Entry Points *)moduleTactical=Tactical(** Strategies Entry Points *)moduleStrategy=Strategy(** WP Proof Obligation Generator *)moduleGenerator=Generator(** Command Line Processing *)moduleRegister=Register(* -------------------------------------------------------------------------- *)(** {1 Low-Level Internal API}
The following modules are _not_ intended to be used externally. The target
audience is WP plug-in developpers. However, developpers interested in
such low-level features are encouraged to contact us for more informations.
*)(* -------------------------------------------------------------------------- *)(** {2 Model Registration} *)moduleFactory=FactorymoduleWpContext=WpContext(** {2 Memory Models} *)moduleMemDebug=MemDebugmoduleMemEmpty=MemEmptymoduleMemLoader=MemLoadermoduleMemMemory=MemMemorymoduleMemBytes=MemBytesmoduleMemTyped=MemTypedmoduleMemVal=MemValmoduleMemVar=MemVarmoduleMemZeroAlias=MemZeroAlias(** {2 Other Models} *)moduleCint=CintmoduleCfloat=CfloatmoduleCmath=CmathmoduleCstring=Cstring(** {2 State Model} *)moduleSigma=SigmamodulePassive=PassivemoduleMstate=Mstate(** {2 Model Hypotheses}*)moduleMemoryContext=MemoryContextmoduleRefUsage=RefUsagemoduleWpTarget=WpTargetmoduleAssignsCompleteness=AssignsCompleteness(** {2 Region Analysis} *)moduleLayout=Layout(** {2 Compilers} *)moduleSigs=SigsmoduleDriver=DrivermoduleContext=ContextmoduleCtypes=CtypesmoduleCvalues=CvaluesmoduleClabels=ClabelsmoduleCodeSemantics=CodeSemanticsmoduleLogicAssigns=LogicAssignsmoduleLogicBuiltins=LogicBuiltinsmoduleLogicCompiler=LogicCompilermoduleLogicSemantics=LogicSemanticsmoduleLogicUsage=LogicUsagemoduleStmtSemantics=StmtSemanticsmoduleDyncall=DyncallmoduleMatrix=MatrixmoduleNormAtLabels=NormAtLabels(** {2 Core Engine} *)moduleCfgAnnot=CfgAnnotmoduleCfgCalculus=CfgCalculusmoduleCfgCompiler=CfgCompilermoduleCfgDump=CfgDumpmoduleCfgGenerator=CfgGeneratormoduleCfgInfos=CfgInfosmoduleCfgInit=CfgInitmoduleCfgWP=CfgWPmoduleWpReached=WpReachedmoduleWpPropId=WpPropIdmoduleWpRTE=WpRTE(** {2 Proof Engine} *)moduleWpo=WpomoduleAuto=AutomoduleCache=CachemoduleCleaning=CleaningmoduleLetify=LetifymoduleSplitter=SplittermoduleFiltering=Filtering(** {2 Prover Interface} *)moduleWhy3Provers=Why3ProversmoduleProver=ProvermoduleProverTask=ProverTaskmoduleProverWhy3=ProverWhy3(** {2 Script Engine} *)moduleScript=ScriptmoduleFootprint=FootprintmoduleProofEngine=ProofEnginemoduleProofScript=ProofScriptmoduleProverScript=ProverScriptmoduleProverSearch=ProverSearchmoduleProofSession=ProofSessionmoduleProofStrategy=ProofStrategy(** {2 Tactics} *)moduleWpTac=WpTacmoduleTacArray=TacArraymoduleTacBitrange=TacBitrangemoduleTacBittest=TacBittestmoduleTacBitwised=TacBitwisedmoduleTacChoice=TacChoicemoduleTacClear=TacClearmoduleTacCompound=TacCompoundmoduleTacCongruence=TacCongruencemoduleTacCut=TacCutmoduleTacFilter=TacFiltermoduleTacHavoc=TacHavocmoduleTacInduction=TacInductionmoduleTacInstance=TacInstancemoduleTacLemma=TacLemmamoduleTacModMask=TacModMaskmoduleTacNormalForm=TacNormalFormmoduleTacOverflow=TacOverflowmoduleTacRange=TacRangemoduleTacRewrite=TacRewritemoduleTacSequence=TacSequencemoduleTacShift=TacShiftmoduleTacSplit=TacSplitmoduleTacUnfold=TacUnfoldmoduleTacCompute=TacCompute(** {2 Error Management} *)moduleWarning=WarningmoduleWp_error=Wp_error(** {2 Printers and Reporting} *)modulePlang=PlangmodulePcfg=PcfgmodulePcond=PcondmodulePtip=PtipmoduleRformat=RformatmoduleStats=StatsmoduleWpReport=WpReport(** {2 EVA Proxy} *)moduleWp_eva=Wp_eva(* -------------------------------------------------------------------------- *)