A semantic parser of source files
Sparse is a semantic parser of source files: it's neither a compiler
(although it could be used as a front-end for one) nor is it a
preprocessor (although it contains as a part of it a preprocessing
phase).
It is meant to be a small - and simple - library. Scanty and meager,
and partly because of that easy to use. It has one mission in life:
create a semantic parse tree for some arbitrary user for further
analysis. It's not a tokenizer, nor is it some generic context-free
parser. In fact, context (semantics) is what it's all about - figuring
out not just what the grouping of tokens are, but what the _types_ are
that the grouping implies.
Sparse is primarily used in the development and debugging of the Linux
kernel.
- Developed at devel:tools:statica
- Sources inherited from project openSUSE:Factory
-
4
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Leap:16.0:FactoryCandidates/sparse && cd $_
- Create Badge
Source Files
Filename | Size | Changed |
---|---|---|
_service | 0000000651 651 Bytes | |
_servicedata | 0000000252 252 Bytes | |
sparse-0.6.4+20220627.obscpio | 0002114060 2.02 MB | |
sparse.changes | 0000020311 19.8 KB | |
sparse.obsinfo | 0000000104 104 Bytes | |
sparse.spec | 0000003173 3.1 KB |
Revision 46 (latest revision is 48)
- As per previous entry, switch to _service - Propagate optflags to LDFLAGS too - Enable semind - Development of sparse no longer results in a new tarball, but it is contained in a repo at git://git.kernel.org/pub/scm/devel/sparse/sparse.git. As a result, the openSUSE package has gotten out of date. In particular, it shows lots of ./arch/x86/include/asm/bitops.h:239:9: warning: unreplaced symbol 'return' for inlined routines. These obscure any actual problems with the code being checked. In the future, the package should be maintained from the git repo, but in the interim to provide a useful version of sparse, I cloned the git repo, converted it into a tarball, and modified the spec file. The last several commits are summarized as follows: * fix "unreplaced" warnings caused by using typeof() on inline functions * cleanup related to inlining of variadic functions * inline: free symbol list after use * inline: allocate statement after guards * inline: avoid needless intermediate vars * inline: declaration of the variadic vars is useless * inline: comment about creating node of node on variadics * inline: add testcases for inlining of variadics * fix "unreplaced" warnings caused by using typeof() on inline functions
Comments 0