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:Factory:PowerPC/sparse && cd $_
- Create Badge
Source Files
Filename | Size | Changed |
---|---|---|
_service | 0000000640 640 Bytes | |
_servicedata | 0000000250 250 Bytes | |
sparse-0.6.1rc2+20191007.tar.xz | 0000287336 281 KB | |
sparse.changes | 0000014756 14.4 KB | |
sparse.spec | 0000003115 3.04 KB |
Revision 37 (latest revision is 48)
- Update to version 0.6.1rc2+20191007: * expand more builtins like __builtin_ffs() * make 'directive in argument list' clearer * asm: warn on invalid empty constraints * fix sign extension in casting enums * remove useless optimization in cast_enum_list() * add test for enum sign extension * do not linearize invalid expression * asm: arrays & functions in non-memory operand degenerate into pointers * asm: fix missing expansion of asm statements * asm: fix liveness memory operand * asm: linearization of output memory operands is different * asm: missing evaluation of asm statements * asm: use parse_asm_constraint() to verify constraints * asm: parse constraints * asm: keep using struct asm_operand during linearization * asm: use a specific struct for asm operands * asm: check earlier that body & constraints are strings * asm: add test evaluation, expansion & linearization of ASM operands * string: use string_expression() in parse_static_assert() * string: add helper string_expression() * dissect: fix processing of ASM statements * and more...
Comments 0