gcml2 is (among other things) a Linux kconfig language syntax
checker. Version 0.7 is available at
http://sourceforge.net/project/showfiles.php?group_id=18813&release_id=106023
and
http://www.alphalink.com.au/~gnb/gcml2/download.html
There's also an online summary of the warnings and errors from the
syntax checker, with real examples, from
http://www.alphalink.com.au/~gnb/gcml2/checker.html
Here's the change log
* Warnings can be individually enabled. Default set depends
on whether the parser is in merge mode. API functions to
enable/disable warnings by index and convert a string name
to an index.
* Added check for define to nonliteral expression.
* More precise check for ambiguous comparison against "n" only
complains for symbols which are forward-declared at the point
when compared.
* Made inconsistent-tag warnings more precise; doesn't
emit spurious warnings about define_bool not having an
(EXPERIMENTAL) tag.
* More precise check for forward references and forward
dependencies can tell the difference between forward and
undeclared, at the cost of some storage.
* Check for overlapping definitions by reducing conditions to
disjunctive normal forms.
* Added check for forward dependencies.
* Added check for misuse of and dependency on arch-constant
symbols like CONFIG_X86.
* Renamed summarise-warnings.awk -> summarize.awk and installed
it.
* Added cml-summarize shell script, which runs summarize.awk.
* Added cml-check-all shell script, based on old dochecks.sh,
but now also handles running cml-summarize.
* Added manpages for cml-check, cml-check-all and
cml-summarize. Description of errors and warnings for the
cml-check manpage is controlled in HTML and shared with the
web page.
* RPM package support: added spec file, rpm: target.
Greg.
-- the price of civilisation today is a courageous willingness to prevail, with force, if necessary, against whatever vicious and uncomprehending enemies try to strike it down. - Roger Sandall, The Age, 28Sep2001. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/