What was new in v0.8.1b
- Parse some forward declarations of keywords and some known functions, i.e. void exit
- Can now parse defines starting with ( followed by a number
- Fixed CtoFB3's plist to not cause console errors in OS X 10.3
March 7, 2005
- Web site is now XTHML 1.0 Strict with CCS 2.0,
except for counter reference on main page
What was new in v0.8.0b
- Standard shortcut for preference menu
- Finder drag and drop fixed and restricted to files with .c, .h, .r, or .cp extensions
What was new in v0.7.9b
- Improved parsing of return statements at end of functions, removed unneeded exit fn statements
- Help tags added to preference window
- Support for input files with long filenames
- Open dialog restricted to files with .c, .h, .r, or .cp extensions
- SInt8, SInt16, SInt32, UInt8, UInt16, UInt32 recognized as native FutureBasic types (for Toolbox conversions)
- CALL_NOT_IN_CARBON translates to "CarbonLib = 0" (for Toolbox conversions)
- Full set of OS X icons
What was new in v0.7.8b
- Enhanced parsing of functions to handle more complex arguments
- Fixed parsing of equations in the argument of the 'which' statement
- Fixed parsing of equations in second argument of 'for' statement
- Adjusted parsing of conditionals (pi.c example now handled)
- Corrections to the parsing of prefix and postfix operators in printf and scanf functions
- Fixed rare serious bug involving // comments and short if statements
- New option: C form for ++ and --, three choices for conversion: keep as is, convert to INC and DEC, or convert to +=1 and -=1
- Fixed parsing of pointer cast operations
- Minor fix for parsing of variable declarations mixed with pointers and regular variables
- Fix for components of structures that have same name but different types
- Fixed toolbox parsing not to carry information from previous toolbox
- Added support for toolbox functions with standard type after extern statement
- New Mac specific type translations: UInt32 -> unsigned long, SInt16 -> short, UInt16 -> unsigned short
- New option: use DIM VARIABLE AS TYPE format, instead of DIM AS TYPE VARIABLE format
- New option: capitalize keywords
- Fixed handling of unnamed unions
- Fixed handling of unions without struct
- Fixed parsing of pointers of unknown types inside unions and structures
- Comment out nonsense "typedef union a a;"
- Fixed handling of #define constants starting with one or more "_"'s
- Fixed translation of #ifndef
- Additional common functions translated: sqr and sqrt
- Fixed handling of blank lines in comments
- Removed preference to mark globals with comment
- Changes to speed up conversion
- Open dialog now permits you to select multiple files to translate
- Appearance manager alerts for the most serious errors
- Slightly better handling of C++ files
What was new in v0.7.7b
- Major rewrite for the parsing of structures and arrays of structures
- Parsing of prefix and postfix operators now handles structures and arrays of structures
- Parsing of indirect operator handles structures and arrays of structures
- Parenthesis and brackets properly set for arrays of structures containing arrays
- Progress window with progress bar and cancel button
- Generalized enum structure parsing, now handles expressions such as (1<<0)
- More enhancements for toolbox conversions (procedures, const, & other fixes)
- New preference to insert comments marking global structures, i.e., variables and defines (default off)
- Removed comments for const, pascal, register, static, and volatile
What was new in v0.7.6b
- Convert calloc, malloc, free, fread, fseek, fwrite, strcat, strcpy functions to equivalent FutureBasic functions
- Convert "~" to "not"
- Partially handle passing of functions, i.e. (*fnt)(), to functions
- Detect unknown types when used to define a pointer, i.e. "unknowntype *newvariable"
- Autodetectation of constants: skip FILE
What was new in v0.7.5b
- Built with Release 7
- Preferences now in proper menu location and saved
- Preference window displays additional help text
- New default preference: C Form of += and -=
- Recognize and ignore Apple specific "pascal" keyword
- Adjusted extern, i.e. toolbox conversions, to produce: "a * b" instead of "b as pointer to a"
- Adjusted output location of some comments
- History notes moved to new History window
- Home, end, page up, and page down keys work in Release Notes & History windows
What was new in v0.7.4b
- Bug fix for crash related to setting fonts
- Fixed font choice for About Box
What was new in v0.7.3b
- Mac OS X native, requires CarbonLib 1.6 for MacOS 9 and before
- Converted to Appearance Runtime
- Release Notes moved to Help Menu
- Find and Copy commands for Release notes
- nonsense typedef's commented out, i.e. typedef struct a a;
- pointer typedef's fixed, i.e. typedef a * aptr;
- nameless enum now handled
- parse "extern A B(..);" into "toolbox fn B(...) = A"
What was new in v0.7.2b
- Major rewrite of parsing of cast operations
- Removed extra parantheses in cast operations including when cast operations are removed
- Fixed an oversight in macro processing, tabs in multiline macros
What was new in v0.7.1b
- Major rewrite of parsing for curly brackets
- Fixed two oversights in macro processing, spaces in arguments and \ continuations
- Fixed handling of defines for constants in parenthesis, i.e. #define a (-1)
- Fixed macro comments replacing internal representation with original arguments
- Removed final dividing line in output FutureBasic code except for full programs
- Fixed two spelling errors
What was new in v0.7.0b
- Complete parsing of cast operations for nonstandard variables types, defined or not
- Autodetection of undefined constants understands pointer casts and cast operations
- Option to insert comments for all cast operations parsed (default on)
- Option to strip all cast operations (default off)
- Fixed parsing of cast operations for the indirect membership operator (->)
- Strips extra parenthesis in macros when around part of an array, i.e. (x)[0]
What was new in v0.6.9b
- Corrected initialization of arrays to start at 0 not 1
- Corrected dimensioning of arrays to account for zeroth array element
- Added option to keep C form of OR (||)
- Removes "float flag", i.e. fn(1.0f)
- Removed "New" menu item
- Auto detection of undefined constants (all capital letters with restrictions)
What was new in v0.6.8b
- Built with FB^3 Release 6
- Increased number of defines handled
What was new in v0.6.7b
- Fixed handling of comments right after the closing } of an if statement
- Fixed parsing of pointer functions, i.e. int *fn(a){...}
What was new in v0.6.6b
- Fixed parsing of multi-argument functions in variable declarations, i.e. "int a=g(b,c);"
What was new in v0.6.5b
- Fixed "Add the C code as comments to the FutureBasic code"
- Fixed rare bug with regular comments
- Minor speed enhancements
What was new in v0.6.4b
- "typedef struct" now handled
- Conditional statement in printf function is now parsed correctly
- Spacing and other fixes for conditional statement parsing
- Minor filename fix when opening "c" files using the menu
- Translation of "*address++ ^= value;" at beginning of a file (outside a function) fixed previous release
- Now beeps when finished processing a file
- exit() function translated