CCIDE Logo By the CCIDE, Decision Table Code Generator, Change Log.
	0.2.3-2  Added euphoria support. Ex. ccide -L ex < ex2.exd > ex2.ex 

2010-04-11  Fixed incorrect error message when condition stub contains '!=' (not equal).
		 Make inline findrule functions and the ccide group variable static. 

	* Added C# support.  Ex. ccide -L cs < ex1.csd > ex1.cs

	* Fixed errors in generating skeleton code.

	* Added JAVA support.
	* Set maximum command line argument size to 40 characters.
	* Enhanced security in ccidemain.c code.

	* Numerous fixes to BASH script generation. 
	* Added CC comment recognition:  if //DECISION_TABLE: is encountered
	  in a C program, use "//" for generated comments instead of
	  /* .... */.     
	* Fixed standard C comment recognition and generation. 
	* Added environment variable, CCIDEW, to ccide script, to
	  facillitate testing.  If CCIDEW is empty, the ccide script will
	  attempt to find the ccidew program and set the CCIDEW variable 
	  equal to its location; otherwise, the script will attempt to use
	  the program at the CCIDEW location.
	* Changed C program output from C++ style comments(//) to C style
	  comments(/*...*/) to enhance portability.
	* Added logic to suppress unnecessary condition evaluation (e.g.
	  if there are only "Don't Care"  entries in the condition statement).
	* Added -p PREFIX option to substitute PREFIX for CCIDE in generated code.
	* Added NEWGROUP in condition stub to replace ccide_group == $$.
	* Eliminated unused case labels to reduce compiler warnings.
	* Made some security enhancements. 
	* Replaced the typedef, CCIDE-BIT, with unsigned long.
	* Added new target (make flaws) to Makefile for systems with flawfinder

	* Made 'ccide' a wrapper script for 'ccidew', the decision table
	  code generator. 

	* Allowed for multiple $$ substitutions in one action or condition stub.
	* Implemented -m4 option and m4 macros to create language independent
	  output and conversion to C, C++, or BASH.

	* Added optional size parameter to the -s(skeleton) option, for
	  generating skeleton programs of a specified size.
	* Increased the maximum number of actions from 32 to 1024.
	* Increased the maximum number of rules from 32 to 256.
	* Added optimization such that fewer actions are generated when
	  trailing actions are equal for non-adjacent rules.
	* Added [-c COLWIDTH] option to specify the number of characters
	  in each action or condition entry.
	* Increased the maximum size of an integer entry from 99
	  to 99999.
	* Added [-L LANG] option.  LANG = C|CC|BASH.  LANG defaults to C. 
	*ccideparse.y: Added [-a] option to allow duplicate actions. 
	*ccidemain.c: Changed to generate conditional code for
	              the single rule special case.     
	*ccidemain.c: Changed design assumption such that ccide assumes
		      that actions always involve side effects and that
		      conditions never involve side effects.  Later,
		      will be available in the '//DECISION_TABLE:' statement.
		      This change does not require changes to existing

2004-08-24 Tom Young 
	*ccidemain.c: Replaced strdup with Strdup and added 
		      memory checking error message.
		      Reduced the number of global variables.
	*ccideinline.c: Added code to make skeleton program complile 

2004-08-21 Tom Young 
	* Changed test file comments from .d to .in.

2004-08-20 Tom Young 
	*ccidemain.c: Fixed qsort invocation and seq functions. 
		      Added dummy guard int to CCIDEABLE struct for Solaris 9.
	*ccidemain.h: Added DISPLAY macro to print a string if yydebug set.
	*ccideparse.y: Eliminated some warning messages.
	* Began to synchronize versions to CVS.  0.0.7 = 
		       CVS 7.0. 

2004-08-19 Tom Young 
	*ccidelex.l:  Replace '//ACTIONS:' statement with the more 
	              readable '//_______'... statement.  
2004-08-18 Tom Young 
	*ccideparse.y: Replaced option checking logic with a decision table.
	               Moved Usage and copyright functions to ccideinline.c.
	*ccidemain.c:  Added [-l] local time option for timestamps.
	*ccidemain.c:  Added code to check for a lonely '=' in a 
	               condition expression (a common C error).  Also
		       added -e option to bypass this check. 
	*ccidemain.h:  In ERROR3 function, added 'RC=1' so ccide return
	               code is 1 if any ERROR3 occurs.

2004-08-17 Tom Young 
	* New 'State Machine' functionality
	  In the special case where a single condition row containing
	  integers is specified and the condition stub is in the form of:

        	... | EXPRESSION == $$

	  ccide will generate 'state machine' code, replacing the
	  CcideFindRule.. function with a switch(EXPRESSION) statement, and 
	  using the row integers in a case statement.

	* Updated copyright messages.
	* Added [-s] option to produce a skeleton(example) program.
	* Added [-u](undo) option to strip out generated code without
	  generating new code. 
	* Added [-b] option to bypass timestamping output.

2004-08-16 Tom Young 
	* ccideparse.l: Changed yywrap to be a static function.
	* ccidemain.c:  Added commentary.  Bypassed unused code. 

2004-08-15 Tom Young 
	* Fixed problems with 32 conditions. 
	* Changed 'make check' to compile and run
	  all test cases.
	* Updated test case appropriately.
	* ccidemain.h: CCIDE_NCOND restored to 32.
	* cciderunx.c: INT-MAX replaced with UINT-MAX.

2004-08-13 Tom Young 
	* ccidemain.h: CCIDE_NCOND reduced from 32 to 31.  
	* ccideparse.l:  Decision table statements can now be preceded
		by whitespace.

2004-08-10 Tom Young 
	* change to 0.0.4
	* made 'html:' target depend on ChangeLog 

2004-08-09 Tom Young 
	*, ccide.spec:  changed to 0.0.3
	* ccideinline.c:  Fixed bug in CCideFindRule causing endless loop. 
	* ccideinline.c:  Changed to prevent generating CcideFindRule...
	  functions more than once.
	* Added extra //CCIDE_INLINE_CODE: statement to threeway.c.
	* ccide.pod: updated man page source.
	* NEWS:  showed change from dtc to ccide.
	* Fixed .../expand.sed so ccide version changes ignored. 
	  Rebuilt test cases w/mkright.

2004-08-08 Tom Young 
	*, et al:  Created dejagnu regression testing environment.
	* ccideparse.y:  added [-n], correcting usage statement.

	* ccideinline.c and cciderunx.c:  simplified CCideFindRule and
	  CCideFindRuleYes functions. 

	* created tests/ccide.test/mkright script to rebuild test cases.
	* Added assertions to tests/ccide.test/ 
	* Fixed lib/ccide.exp concatenate file sequence.
	* Removed 'Wtraditional' CFLAG 

2004-08-06 Tom Young 
	*, *am, etc.: Fixed 'make rpm'
	* removed unneeded file (built by autoheader).
	* Added -Wtraditional to CFLAGS (MY_CFLAGS in
	* Added -Wtraditional to CFLAGS.
	* ccideinline.c:  Fixed up string literal continuations.
	* ccideparse.y:	  Eliminated deprecated string continuations.
	* ccidemain.c:	  Fixed conversion warning message.
	* parse.h:	  Fixed illegal #endif comment
	* ccidelex.l:	  Fixed string literal continuation.

2004-08-03 Tom Young  2004-08-03 Tom Young 
	*, *am, etc.:   Temporarily removed from build.
	  Fixed 'distcheck'.  

2004-08-01  Tom Young  

        * build,,   Modernize autoconf process.
	  Change to 'bootstrap' mode.  Add AM_MAINTAINER_MODE.
	  Added 'libtoolize' to 'build'.
	  added to VERSION.

	* ccide.pod:  Corrected e-mail addresses.

	* tests/  Fixed elev.c.  Fixed ccide invocation. 


CCIDE Project Home Page
Support This Project

Last changed 2010/07/13