-*- org -*- * 0.1.6 ** Features: - grouping of generated rules with -hrule option - handling of special coccinelle comments /* {{coccinelle:skip_start}} */ and /* {{coccinelle:skip_end}} */ allowing to give more hints to the C parser. Thanks to Flavien@lebarbe.net for the idea. - the ability to add comments - the ability to print the values of more (but not all) kinds of metavariables from python - new vim SmPL mode. Thanks to Alexander Faroy. ** Bugfix: - consider the ident tokens also in the 2 lines before the error line for the 10-most-problematic-parsing-errors diagnostic. - SmPL parser allows cast as the argument of a pointer - SmPL type checker allows enum as an array index - Better generation of fresh metavariables names in hrule - no more warnings about things that should be metavariables when there is a disjunction in a function position - bugfix in parser, better error message. Thanks to Ali-Erdem OZCAN for the bug report. ** Internals: * 0.1.5 ** Language: - added initialiser metavariable - added sequences of designators in structures ** Features: - improved printing of the C code corresponding to metavariables - improved printing when code (eg declarations) is removed at the beginning of a block, and then is followed by a blank line - slightly less verbose error reporting in parsing_hacks ** Bugfix: - fixed some problems with parsing SmPL code where a nest appears after a | - better treatment of { }, form in macros wrt unparse_c - less quiet for -parse_c - improve parsing heuristics regarding macro statement ** Internals: * 0.1.4 ** Language: - long long added to SmPL ** Features: - can match patterns of the form unsigned T or signed T, where T is a metavariable - dropped the sizeof_parens isomorphism, which was made redundant by the paren isomorphism - simple rule generation ** Bugfix: - trailing , ; and ) no longer left on a line by themselves - better treatment of error exit when the searched for code matches the error exit condition. - fix incorrect treatment of parentheses in test_exps that could allow + code to be added twice - don't ask whether iterator names and declarer names should be declared as metavariables. - slightly better support for expression list metavariables. - short and long allowed for array index types in SmPL - more restrictions on type inference for pointer arithmetic in SmPL - allow isomorphisms to apply when + code is anywhere within all - terms - changed order of printing const and volatile - allow eg ... <... in plus code - better formatting of generated if/while/etc. code - better parse error reporting when the problem is at the end of the file ** Internals: - isomorphisms don't apply under signed/unsigned, to prevent the creation of things like unsigned signed int. Need a better solution for this. * 0.1.3 ** Features: - help in building the configuration macro file. The -parse_c action now returns the 10 most frequent parsing errors. This give useful hints to extend standard.h. ** Bugfix: - positions no longer allowed on \(, \|, and \) - improved propagation of negation for isos in the presence of parens - convert Todos in flow graph construction to recoverable errors - fixed bug in treatment of when != true and when != false, to allow more than one of them per ... - improve parsing of typedef of function pointer. - improve typing. - parsing and typing support for old style C function declaration. - consider position variables as modifications when optimizing the translation into CTL of function definitions ** Internals: * 0.1.2 ** Bugfix: - better handling of ifdef on statements in control flow graph. - transform files even if they do not end in .c (thanks to Vegard Nossum) ** Internals: - merge code of yacfe * 0.1.1 ** Language: - support for initializer at toplevel, cf -test substruct * 0.1 ** first public release of the source code: ** Language: - embeded python scripting - position ** Features * beta ** first public release of the binary * alpha ** Features - lots of features ... look at coccinelle research papers and tutorials.