Skip to content
forked from weyrick/corvus

Fast and lightweight PHP static analyzer

Notifications You must be signed in to change notification settings

Cloudxtreme/corvus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

= Corvus PHP Static Analyzer =

This is a fast, lightweight PHP static analyzer with few dependencies.
Its purpose is to catch programming errors by statically analyzing the
source code, without running it.

It's meant to be a first code review, generally by being run automatically in
a continuous integration system or even before allowing code to be checked into
a repository.

== Requires ==

 * [http://llvm.org LLVM] 3.0+
 * [http://boost.org Boost] 1.38+
 * [http://cmake.org CMake] 2.6+

== Source ==

Browse the source at:
https://github.com/weyrick/corvus

== Build ==

corvus uses the CMake build system. Basic *nix instructions:

 * create "build" directory inside of corvus/
 * in the build directory, type "cmake .."
 * make

== Status ==

the parser in corvus is based on an earlier project (roadsend-php-raven) and is
quite functional. the analysis passes are, however, in the early stages.

corvus can:

 * parse php < 5.3
 * dump tokens
 * dump AST in XML format
 * report diagnostics on:

 1. in a function signature, using a parameter without a default after a parameter with one e.g. foo($bar, $baz='foo', $bip)

planned:

 * 5.3 and 5.4 source compatibility
 * many more diagnostics, configurable
 * asynchronous parsing
 * project configuration file
 * library support (callable from e.g. an IDE)

About

Fast and lightweight PHP static analyzer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.0%
  • C 21.4%
  • Yacc 7.7%
  • CMake 1.9%