 |
Understand code in less
time with Crystal C/C++
View
Demo |
|
|
|
|
|
What's New
|
|
Home
Products
What's New
What's New (Old Versions) |
<< New Versions
Between Version 3.85 and 3.91
|
New feature - Introduced Global bookmarks to visit across files.
|
New feature - Added print-preview in Graphs.
|
New feature - Introduced Class Hierarchy and Function Hierarchy in HTML Documentation.
The HTML documentation was also optimized and fine-tuned in some categories.
|
Improvement - in tree searching.
|
Overall optimizations, improvements, and bug-fixes across the product.
|
|
New feature - introduced tool-tips on identifiers - identifier types are provided as tool tips when
the mouse pointer hovers over identifiers.
|
New feature - introduced tool-tips in all tree flavors - the path from the root to the node on which
the cursor is hovering is presented as the tool-tip.
|
Improvement - in trees, when viewing nodes ordered by occurrence, provided an option to show/hide
multiple occurrences of the same node at any level.
|
Bug-fixes in MISRA C Static Checking. Error Reports for the following rules were improved:
|
Rule 5.3 - uniqueness of typedef names - is being checked only across active code.
|
|
Rule 8.4 - is not being checked for code which is conditionally inactive.
|
|
Rule 10.1 - macro calls are now being correctly analyzed while calculating the underlying types.
|
|
Rule 10.6 - Numeric constants used as array indices may not necessarily be followed by a "U".
|
|
Rule 12.2 - the underlying problem has been fixed.
|
|
Rule 13.6 - variables used for iteration counting as array indices in a for loop are not being reported.
|
|
Rule 13.7 - invariant expression calculation rules have been refined.
|
|
Rule 14.3 - now macro expansions are also being accounted for while finding this violation.
|
|
Overall optimizations, improvements, fine tuning and bug-fixes.
|
|
Support for preprocessor statements within entities added. Now cases like the
following will be handled correctly:
#define COMPILATION_SWITCH
#ifdef COMPILATION_SWITCH
#define SIZE 3
#else
#define SIZE 2
#endif
const func_ptr_void handlers[SIZE]=
{
FunctionA,
#ifdef COMPILATION_SWITCH
FunctionB,
#endif
FunctionC
};
:
:
if( var ==
#ifdef COMPILATION_SWITCH
3
#else
2
#endif
)
|
New feature - introduced the facility to specify the formatting scheme in a source file. Files will be
formatted as per the scheme if specified in a source file.
|
New feature - introduced new control windows in File Outline and Function Outline for better
navigation and to show details of the selected area
|
Improvement - In HTML Documentation, structures/classes defined in local scope are also
included in the documentation.
|
Improvement - In HTML Documentation, recognizing and presenting the source code Title Comment format.
|
Improvement - In Rich Trees added the facility to Show the Paths for a file.
|
Improvement - In Rich Trees provided the associated comment for a function call at each node
|
Improvement - In a Call/Caller tree, now you can go to a function call by a single click on a node
|
New Option - To suppress the system settings for smooth Font Edges
|
Bug fix - Cursor pad positions corrected in the Tree windows
|
Improvements, bug-fixes and optimization as and when required
|
|
Introduced asm code markers - to identify and disable processing of assembly code
|
Introduced markers to suppress code formatting
|
Synchronization of DataFlows and CallFlows from source file
|
General Optimizations, improvements, fine-tuning and bug-fixes
|
|
Rich Call and Caller Trees introduced
|
Get an overall logical view of an object
|
|
Search Objects and view results in Function Call/Caller hierarchies
|
|
Attach file names along with function names
|
|
Attach function meanings with function names
|
|
Attach function parameter information with function names
|
|
View call-paths for searched objects
|
|
Create DataFlows and CallFlows from the current tree view
|
|
Enhanced search mechanism including partial string search in Call/Caller trees
|
|
Version 3.75 also includes:
|
Option to suppress inactive content in html documentation
|
|
Bug-fix - Handling windows CALLBACK functions in call and caller trees
|
|
Bug-fix - "Where modifed occurrences" that were being missed when formatting was disabled
|
|
Bug-fix - Handling comment patterns in flowcharts
|
|
Bug-fix - Flowchart with comments - start symbol now shows only function name and associated comment
|
|
General optimizations, improvements, fine-tuning and bug-fixes
|
|
|
Between version 3.62 and version 3.70
|
Project File trees and Project Include-by trees
|
Improvement - Structs/Unions used in Function properties - added a few more rules
|
Improvement - { } not preceded by any control header is also treated as a level in flowcharts
|
Improvement - Formed new rules while collecting comments in flowcharts
|
Bug-fix - Flowchart text for multiple cases when those cases are part of a macro-expansion
|
Bug-fix - Improved the rules for title comment collection in documentation
|
Bug-fix - DataFlows for old-style function headers are now proper
|
Bug-fix - Sizing problem with minimized Flowchart and minimized Trees
|
Bug-fix - Displaying comments for structure/class members in documentation
|
|
New feature - Fully Expanded or Comment Level flowcharts included in documentation and batch processing
|
Comments for structure/union members and global variables are now being included in the Documentation
|
Bug-fix - Batch Process for Flow - Professional Edition included
|
Improved - DataFlows and CallFlows icons
|
Bug-fix - in DataFlows and CallFlows
|
Bug-fixes in MISRA C Static Checking. Error Reports for the following rules were improved:
|
Rule 6.2 - ordering of adding values - not relevant while reporting problems
|
|
Rule 10.1 - complaining about conversion type between enumerations
|
|
Rule 10.6 - in case of case statements and for( ; ; ) expressions
|
|
Rule 11.2 - complaining about pointer conversion even though not a conversion
|
|
Rule 13.5 - cases like "i = i + 1;" will not get reported now
|
|
Rule 13.6 - complaining about loop control variable being modified in for( ) loop body
|
|
Rule 13.7 - complaining about an if condition having an invariant result
|
|
General optimizations, improvements and bug fixes
|
|
DataFlows for Objects
|
Flowchart for all Data Objects - locals, globals, etc
|
|
View all statements that use or modify an object; also view the conditions under which the objects are used or modified.
|
|
Extending to multiple functions
|
|
Mapping Function Arguments and Function Parameters
|
|
Expand functions inline
|
|
CallFlows for Functions
|
All function call flowchart with the Control Flow graph
|
|
Examine the various paths possible in a Function
|
|
Examine the Function Calls that are present in those paths
|
|
Dig deeper by expanding the Function Calls
|
|
Provides information not available in a call tree or any other means of analysis
|
|
Expand Calls in Flowcharts
|
Create a Detailed Code Only or Code & Comment Flowchart
|
|
Click on any function call and expand that function inline
|
|
Go as many levels deep to get an overview of a number of functions quickly
|
|
Also, create a high-level Code or Code and Comment Flowchart; Click on Function Calls and dig deeper
|
|
Flowcharts for Whole Projects
|
Start with main( ) and create the flowchart for the whole project
|
|
Create the flowchart for all High Level Functions in the Project
|
|
For a detailed comparison, view Products Comparison
|
|
Version 3.60 also includes:
|
Enhanced Pointer to Function Handling - now you can map Pointer to Functions across multiple functions and function arguments.
|
|
Track objects that have been modified across functions tool
|
|
New option - to Maintain Comments as you have entered in the source code
|
|
Bug-fix - for the following situation, flowchart was not being created
#define abc 1
void test_Fun( void )
{
unsigned char i;
do
{
x = i+10;
i++;
}
#if( abc == 1 )
while( i < 10 );
#else
while( i < 5 );
#endif
}
|
|
Bug-fix - Aligning trailing comments while formatting files
|
|
Bug-fix - Formatting Problems for Macro Calls followed by ' ; '
|
|
Bug-fix - Problem with Function Links in Documentation - Metrics has been fixed
|
|
Bug-fix - Relating to MISRA Rule 2.4 violation
|
|
Improvements, optimizations and bug fixes across product areas
|
|
|
Version 3.08 onwards, Crystal C/C++ is Windows VISTA compatible
|
New feature - full-fledged source code browsing in HTML documentation
|
New feature - full-fledged Source Code Publisher included
|
New feature - adding the ability to hide undefined and inactive nodes in Trees
|
Improved interface for New File handling
|
Import/Export color schemes for carrying settings to other projects
|
Improved support for wide monitors like 1280x800 pixel resolution
|
Improved Tree Node Searching
|
Improved presentation in Project and File Reports
|
Bug-fix - comment formatting issues reported by Crystal C/C++ users
|
Bug-fix - presenting file names in alphabetical order in Project Reports
|
Bug-fix - additional cases for function pointer handling in call-trees – added
|
Bug-fix - Japanese Kana character handling and other code page languages
|
Bug-fix - Refreshing information in Source Code Control Information
|
Bug fix - handling the case
typedef volatile union union_name
{
. . .
} VolatileUnion;
|
Bug-fix - static check rule 2.4 - improvements in handling particular cases
|
General improvements and optimizations across various product areas
|
|
New feature - Full Fledged UNICODE (non-english characters) Support
|
New tree style options menu
|
Support for True Colors
|
New feature - support for various color schemes.
|
New feature - Unused Objects and Functions reports.
|
New feature - more formatting options have been included in this version
|
New feature - Batch Output of Trees and Graphs - Exporting as images
|
Improvement in the Signature Report
|
Bug fix - tool-tips for floating window toolbars are displayed consistently now.
|
Bug fix - number of files that can be opened simultaneously when working at high resolution.
|
Bug fix - in static check rule 16.7.
|
|
New feature - Unix-new line character support during file-save.
|
New feature - Support for the Tasking Compiler
|
Improvement - In the compiler output quality
|
Improvement - Call-trees for pointer to functions and library functions
|
Bug-fix - tool-tip handling for flowcharts and graph windows
|
Bug-fix - static-checker output handling in list form.
|
Optimizations - for Project Call Tree generation in case of recursive trees.
|
Bug fix - several fixes in the project HTML Documentation Creation and dependant areas.
|
Bug fix - type information for nodes in various trees is now being displayed consistently.
|
|
New feature - Conditional Compilation Directives - area outline
|
New feature - In call trees, showing all occurrences of functions when functions are displayed in order of occurrence
|
New feature - Preprocessed output of a file - i.e. the ability to fully expand a reference to a preprocessor macro.
|
New feature - ability to show the dummy header file in file trees.
|
New feature - the support for the IAR compiler has been added.
|
Provide the support for Automatic Update Intimation request even on machines not connected to a network.
|
Naming conventions for the various metrics being provided across the project have been made consistent.
|
Bug fix - in static checking - rule 19.11 - #ifdef, #ifndef are being tested logically now and then the violation is being reported.
|
Bug fix - type information on call/caller tree nodes - even on functions not part of the project.
|
Bug fix - show definition from function properties is now working properly.
|
Bug fix - All calls not being shown in call trees in specific cases.
|
Bug fix - contents of the folders panel are not modified when the Grep mode is changed.
|
Bug fix - language extension " interrupt " now being interpreted.
|
Bug fix - items in Call Tree being corrected and added - even from Syntactically Incorrect sentences.
|
|
Included the logic to create files and folders based on heuristics during the batch output of
flowcharts as images and Visio files.
|
Project Report in the Browser Window is now displayed sorted alphabetically.
|
Bug fix - related to opening the Project Dummy Header File.
|
|
New feature - Batch output of Flowcharts - Printing, Export as images and Export to Visio.
|
New feature - Color Coded Metrics in Html Reports - based on the low, medium and high limits.
|
An option to display all cases in a flowchart was added. Now the user has the option of displaying
the first case only from a block of case statements or all cases in that block - in a flowchart.
|
Bug fix - during the expansion of a preprocessed macro.
|
Bug fix - (C++ specific) now most of the standard template library functions will be identified correctly.
|
|
New feature - File Include By Tree for a file.
|
New feature - to generate a report of Unused functions in a project or a file.
|
New feature - added new metrics to show
|
Direct and Indirect Recursiveness of functions
|
|
Height of a Function Call Tree
|
|
Weight of a Function Call Tree
|
|
Provided the support for FlexLM user list display for combined-licenses.
|
Defined operations for extra-buttons of the advanced mouse.
|
Bug fix - pair highlighting after scrolling is proper now.
|
Bug fix - in grep/replace string highlighting.
|
Bug fix - preprocessor defines during project import for single configuration.
|
Bug fix - related to closing modified read-only network files.
|
Bug fix - in Project Call Trees.
|
Bug fix - File Format Option customization
|
Optimizations, bug fixes and overall improvements in the products.
|
|
A complete range of options for customizing the formatting of a C/C++ file has been introduced.
Options include the ability to
control spaces and lines between various lexical units in the file.
|
New feature - Ability to learn and adapt user preferred C/C++ file formats has been introduced.
Now,you can specify a file
from which you want the format settings of a file to be learnt.
|
New feature - providing the ability to export/import file format settings has been introduced.
Now you can easily maintain
enterprise level/project level/team level formatting standards.
|
New feature - disabling the formatting for the whole file.
|
New feature - over-riding the format settings of a project in specific file(s).
|
Bug fix - In versions running on Window NT, pop-menu hot keys now work correctly.
|
Detecting New Crystal C/C++ versions and prompting for updates
|
Home Key - improved the interpretation and functionality by introducing a unique 3 point navigation.
|
Introduced the option of token wise movement on Ctrl+Left and Ctrl+Right key. You can now toggle between token-wise
and identifier-wise cursor movement.
|
Introduced the option of switching virtual spaces ON/OFF for cursor movement.
|
In files containing tab-positions, now the cursor will move by the specified tab-size.
|
The default color for Inactive lines has been changed for better visibility.
|
The number of characters restriction for preprocessor directives edit-box in the Options Menu has been removed.
|
Bug-fix - in multiple line lexical search and GREP replace.
|
Bug fix - while working with extremely large files.
|
New feature allowing a detailed and extensive check while checking compliance to MISRA standards.
|
Ability to interpret "interrupt[ numeric const ]" in the return type of a function.
|
Ability to interpret statements like "PORTB.3 = 0;" has been added.
|
|
New options for customizing C/C++ file formatting have been included.
|
Bug-fixes when handling large projects.
|
Optimizations,bug fixes and overall improvements in the products.
|
|
Critical bug fixes relating to file opening,project browseing,etc.
|
On popular demend,hot key for copy word - Ctrl W has been introduced.
|
Bug fix - while displaying the type information on a file-call-tree node.
|
Bug fix - while printing the contents of the output window,the text was being clipped.
|
Bug fix - while recovering after a crash,the complete set of files in which the bugs had been seen is being displayed.
|
|
New feature - ability to select and print a batch of files that are part of a project.
|
New feature - ability to add files to a project from a user defined file.
|
New feature - Borland Developer Studio 2006 project import.
|
New feature - ability to export the contents of the output window to a file.
|
New feature - ability to print a flowchart on a single page.
|
New feature - detecting the list of Crystal C/C++ users across a network,in case of floating licenses.
|
Static Checking - MISRA C - 1998 support has been added,along with support for rules that had been rescinded in MISRA C-2004.
|
Window Docking - ability to dock windows has been made on demand.
|
Bug fix - in Static Checking - user reported bugs have been fixed.
|
Bug fix - file-type edit panel contents in the option menu.
|
Bug fix - when files are added to the Other Files tab in Project Management.
|
Improvement - in pointer to function support in call trees.
|
Improvement - added the links for structure names to source code in HTML documentation.
|
Bug fix - in Project Call tree where functions were not being added to the tree correctly.
|
General improvements and bug fixes across all major areas.
|
|
"Other" card added in Project Management menu to list non C/C++ files that are in the project.
|
|
Between Version 2.04 And 2.10
|
The Docs edition is now available for the C++ products:
Crystal FLOW for C++ and Crystal REVS for C++.
|
Optimizations related to standard include paths and Project Refresh.
Including special optimization for files being accessed from networked drives.
|
Bug related to "Reparse All" was fixed in Crystal C++.
|
Improved syntax checking when preprocessor conditional directives are embedded within a declaration or statement.
|
Static checking - Select/deselect rules that should be applied.
|
Bug fix - wrong line number in case of Rule 19.7.
|
New formatting options for the following cases:
|
When an if(...), for(...) etc. is followed by a null statement ";" allow both to be formatted on the same line.
|
|
When an "else" is followed by if(...) allow both to be formatted on the same line.
|
When a search results in a match, the matched text will be selected instead of only highlighting.
|
Fixed user reported problems in Search, Grep, Line#.
|
Bug fix in displaying Type Information of a Node in call-tree, caller-tree.
|
Link to Quick Reference pdf documents.
|
Retain flowchart window size when he application window is minimized then maximized again.
|
|
Added "Open With..." dialog in Crystal FLOW.
|
By default, Line Numbers are displayed in the left margin.
|
Correction in Function Properties - distinguishing Undeclared Functions.
|
Title comment names - set globally, instead of project basis.
|
Remember Browser Window tabs-status and output window status from the last session.
|
Reparse All will also reparse the standard header files too.
|
|
MISRA C based Static Checking [ in Rules Edition and Professional Edition of Crystal REVS for C ]. |
Comprehensive HTML Documentation
|
Contains Flowcharts of All functions, call-trees, caller-trees, Project Trees, Files Trees, and Source Listing, etc.
[in Docs Edition of Crystal FLOW for C and Docs Edition and Professional Edition of Crystal REVS for C ].
|
State-Transition Diagrams from switch-case and other constructs
[ in the Rules Edition,Docs Edition and Professional Edition of Crystal REVS for C ]. |
Extract a project based on function call relationships from a large pool of files from many folders.
|
The operation "Reparse All" - will now reparse all files in the project as well as the files
that are #included from the Include-Path-Sequence.
|
The Missing Include Files report now lists all #included files in the project that could not be found
instead of files that could not be found in just the last parse-operation.
|
Improved support for European keyboards.
|
Type Information on right click for the current node function in Tree Window.
|
Fixed a bug in Project Call Tree in which some recursive functions were not being treated as Root Nodes.
|
Now you can print the contents of Browse Window such as Project Files,
Project Browse, Project Report, File Report,
File Outline, Function/Area Properties, Function Outline etc.
|
Exporting all Browse Window Panes as text files.
|
Printing contents of the Output Window.
|
Support for Cosmic Compiler (for ST7 and others).
|
Full Support for Keil extensions including the "using" keyword, etc.
|
Support for "$" in identifier names.
|
Fixed a bug where a redundant semicolon after a macro call was being placed separately on the next line.
|
Keep unchanged the indentation of comments that describe the next few lines of code.
|
Improved formatting of Initializers and their comments.
|
|
New Professional
version launched!
|
What Professional version has
A new look HTML documentation
|
Now you can customize the look & feel of the
documents generated. |
|
Highly flexible setting options. |
|
Can embed flowcharts, trees and graphs in the final
documents. |
|
A comprehensive index on all kinds of documentatble
identifiers for seamless browsing. |
Static-check as per MISRA standards
|
About 100 rules are supported. |
|
Report is presented in tree view. |
|
The levels of the tree based on file, rules and
line-numbers. |
|
Customize the view of the generated report. |
Support for State-Diagrams in flowcharts
|
You can mark states in the flowcharts. |
|
Mark transitions. |
|
Logical level marking of states like, mark all case-blocks
as states etc. |
|
The state boaundaries and transitions can be made
persistent by putting markers in the comment-field
of the source code. |
|
Collapse/Expand at the state level. |
|
Between
version 1.72 and 1.75 |
Added Clear option to the output window. |
Fixed some problems in conditional inclusion of
code. |
Added Show Line Numbers in the Tools Pull Down Menu. |
Introduced separate Page Setup for flowcharts. |
Fixes in several areas. |
In the flowchart pull down
menus, added |
|
an option to include suspected declarations in the
flowchart. |
|
an option to include all declarations in the flowchart.
|
|
Between
version 1.42 and 1.72 |
New and improved interface for all file open like
menus. |
Supporting the Keil C51 language extensions. |
Nested Comment Support. |
Integrating the Keil C51 compiler support with Crystal
C/C++. |
New and improved interface for the Project Management
Menu. |
Removed the distinction between Parse and Browse
information in Project Management. |
Combined Visio Export and JPEG/BMP exports in Flowcharts
into single menu. |
Fixed Printing related problems in Flowchart and
file printing. |
Mapping the Windows Application key to Right click
menu. |
Addition of Structures/Unions, etc in Function Properties.
|
Ability to run a batch file from within Crystal
C/C++. |
Integrated Flowchart Zoom in/Zoom Out - WYSIWYG.
|
Any font and font size selection in flowcharts. |
Multiple line thicknesses in Flowcharts - display
as well as print. |
More options in flowcharts - include/exclude declarations
and suspected declarations. |
Extending Project Import support for Visual Studio.Net
and Whidby ( VC 7.0 and VC 8.0). |
More Title Comment Templates with Better interface
for the same. |
Fixes in finding included files from sub-folders
in Crystal C/C++. |
Ability to view Missing Include Files. |
Recording Error files in Project. |
Improved file conversion time (in Crystal C only).
|
Fixes related to Send Mail command during activation,
extension, etc. |
Wise Installations and several improvements in the
setup process. |
Fixes in several areas. |
|
Between
version 1.32 and 1.42 |
File Print Scaling. |
Fixes in File Printing, File Print Preview, etc.
|
File Printing in Black and White mode only. |
Flowchart Print Preview including Flowchart print-preview
in multiple panes. |
Visio Exports for Flowcharts. |
Flowcharts Symbol association customization for
function calls. |
FlexLM licensing Integration. |
File Call Tree. |
Handling asm code withing pragma "asm"
and "endasm". |
Improved considerations for Old Style Function Headers
in Crystal C. |
Flowcharts with leading comments, title comments,
etc. |
Flowcharts of Code with Comments. |
Modal Search Dialog. |
New and Improved Installation. |
Finnish Keyboad Support. |
Support for MetroWerks Code Warrior - including
DDE support and Watcom Compilers,
including customizing various compiler switches. |
Fixes in various areas - including fixing the arrows
problem in Caller Graphs, Grep output pad problem
during GREP Replace, |
Send Key command during activation, etc. |
Improved Product support with Online Demos and better
documentation. |
|
|
|
|