├── .gitignore ├── README.md ├── composer.json ├── composer.lock ├── examples ├── dead-code.php ├── print-cfg-ssa.php ├── print-cfg.php └── undefined-variables.php └── src ├── CFG ├── Analysis │ ├── DataFlow │ │ ├── BackwardAnalysis.php │ │ ├── DefUses.php │ │ ├── DefinitionGenKills.php │ │ ├── ForwardAnalysis.php │ │ ├── LiveVariablesAnalysis.php │ │ ├── ReachingDefinitionsAnalysis.php │ │ ├── UndefinedVariableAnalysis.php │ │ └── UndefinedVariableStatus.php │ ├── DeadCodeAnalysisSSA.php │ └── Dominance.php ├── BBlock.php ├── CFG.php ├── CFGBuilder.php ├── NodeContext.php ├── NodeUtils.php ├── SSA │ ├── Conversion │ │ ├── BlockDefUse.php │ │ ├── RenameProcess.php │ │ └── SSAConversion.php │ ├── Node │ │ └── Phi.php │ ├── SSASymTable.php │ └── SSAUtils.php └── SymTable.php ├── Utils ├── BitSet.php ├── FunctionUtils.php └── SideEffectVisitor.php └── Visualization ├── AST ├── StandardPrettyPrinter.php └── TerminatorPrettyPrinter.php └── CFG ├── Annotator ├── GraphvizDeadStmtAnnotator.php ├── GraphvizLineNumberStmtAnnotator.php ├── GraphvizStmtAnnotator.php └── GraphvizStmtClassAnnotator.php ├── GraphvizPrinter.php └── GraphvizPrinterBuilder.php /.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/README.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/composer.json -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/composer.lock -------------------------------------------------------------------------------- /examples/dead-code.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/examples/dead-code.php -------------------------------------------------------------------------------- /examples/print-cfg-ssa.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/examples/print-cfg-ssa.php -------------------------------------------------------------------------------- /examples/print-cfg.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/examples/print-cfg.php -------------------------------------------------------------------------------- /examples/undefined-variables.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/examples/undefined-variables.php -------------------------------------------------------------------------------- /src/CFG/Analysis/DataFlow/BackwardAnalysis.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/DataFlow/BackwardAnalysis.php -------------------------------------------------------------------------------- /src/CFG/Analysis/DataFlow/DefUses.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/DataFlow/DefUses.php -------------------------------------------------------------------------------- /src/CFG/Analysis/DataFlow/DefinitionGenKills.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/DataFlow/DefinitionGenKills.php -------------------------------------------------------------------------------- /src/CFG/Analysis/DataFlow/ForwardAnalysis.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/DataFlow/ForwardAnalysis.php -------------------------------------------------------------------------------- /src/CFG/Analysis/DataFlow/LiveVariablesAnalysis.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/DataFlow/LiveVariablesAnalysis.php -------------------------------------------------------------------------------- /src/CFG/Analysis/DataFlow/ReachingDefinitionsAnalysis.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/DataFlow/ReachingDefinitionsAnalysis.php -------------------------------------------------------------------------------- /src/CFG/Analysis/DataFlow/UndefinedVariableAnalysis.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/DataFlow/UndefinedVariableAnalysis.php -------------------------------------------------------------------------------- /src/CFG/Analysis/DataFlow/UndefinedVariableStatus.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/DataFlow/UndefinedVariableStatus.php -------------------------------------------------------------------------------- /src/CFG/Analysis/DeadCodeAnalysisSSA.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/DeadCodeAnalysisSSA.php -------------------------------------------------------------------------------- /src/CFG/Analysis/Dominance.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/Analysis/Dominance.php -------------------------------------------------------------------------------- /src/CFG/BBlock.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/BBlock.php -------------------------------------------------------------------------------- /src/CFG/CFG.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/CFG.php -------------------------------------------------------------------------------- /src/CFG/CFGBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/CFGBuilder.php -------------------------------------------------------------------------------- /src/CFG/NodeContext.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/NodeContext.php -------------------------------------------------------------------------------- /src/CFG/NodeUtils.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/NodeUtils.php -------------------------------------------------------------------------------- /src/CFG/SSA/Conversion/BlockDefUse.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/SSA/Conversion/BlockDefUse.php -------------------------------------------------------------------------------- /src/CFG/SSA/Conversion/RenameProcess.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/SSA/Conversion/RenameProcess.php -------------------------------------------------------------------------------- /src/CFG/SSA/Conversion/SSAConversion.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/SSA/Conversion/SSAConversion.php -------------------------------------------------------------------------------- /src/CFG/SSA/Node/Phi.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/SSA/Node/Phi.php -------------------------------------------------------------------------------- /src/CFG/SSA/SSASymTable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/SSA/SSASymTable.php -------------------------------------------------------------------------------- /src/CFG/SSA/SSAUtils.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/SSA/SSAUtils.php -------------------------------------------------------------------------------- /src/CFG/SymTable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/CFG/SymTable.php -------------------------------------------------------------------------------- /src/Utils/BitSet.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Utils/BitSet.php -------------------------------------------------------------------------------- /src/Utils/FunctionUtils.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Utils/FunctionUtils.php -------------------------------------------------------------------------------- /src/Utils/SideEffectVisitor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Utils/SideEffectVisitor.php -------------------------------------------------------------------------------- /src/Visualization/AST/StandardPrettyPrinter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Visualization/AST/StandardPrettyPrinter.php -------------------------------------------------------------------------------- /src/Visualization/AST/TerminatorPrettyPrinter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Visualization/AST/TerminatorPrettyPrinter.php -------------------------------------------------------------------------------- /src/Visualization/CFG/Annotator/GraphvizDeadStmtAnnotator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Visualization/CFG/Annotator/GraphvizDeadStmtAnnotator.php -------------------------------------------------------------------------------- /src/Visualization/CFG/Annotator/GraphvizLineNumberStmtAnnotator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Visualization/CFG/Annotator/GraphvizLineNumberStmtAnnotator.php -------------------------------------------------------------------------------- /src/Visualization/CFG/Annotator/GraphvizStmtAnnotator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Visualization/CFG/Annotator/GraphvizStmtAnnotator.php -------------------------------------------------------------------------------- /src/Visualization/CFG/Annotator/GraphvizStmtClassAnnotator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Visualization/CFG/Annotator/GraphvizStmtClassAnnotator.php -------------------------------------------------------------------------------- /src/Visualization/CFG/GraphvizPrinter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Visualization/CFG/GraphvizPrinter.php -------------------------------------------------------------------------------- /src/Visualization/CFG/GraphvizPrinterBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnaud-lb/php-sema/HEAD/src/Visualization/CFG/GraphvizPrinterBuilder.php --------------------------------------------------------------------------------