This utility will hopefully assist you in collecting useful statistics
on how hard (or not) it would be to migrate your older applications to
Parser.exe is based on Jacob Thurman's work, and should support Pascal
code all the way back to the early days. It may have some issues with
some really old and esoteric syntax.
Please take it for a spin and give me some feedback. I'd like to know
if it helps you, and if so - how? ;)
When you first launch the app, you will have to specify a directory
where the source code you'd like to analyze lives. You can choose to
process sub directories or not.
Hit "Process files" and let it run. You'll see the tool logging processed
files as it goes.
If you run into an ERROR (it gives a line number) it most likely ran
into some syntax that it doesn't like. Don't worry about that. At least
not yet... ;)
Once finished, the treeview at the bottom will be populated. It'll list
all used units (and how many times each one was used), number of files,
number of lines, and number of instances of quite a few things that may
or may not be interesting to you, such as String, Read, Write, SizeOf,
Each node can be expanded and this is where it gets interesting. You'll
notice number of instances of each token per file and as a percentage
of all instances of that token found.
Should you be daring enough to want stats on your own custom tokens,
feel free to put them in the box that says "GetTempFileNameA" and hit
"Add Token". Nothing will happen quite yet. Add as many tokens as you
want, hitting "Add Token" between each one. Then hit "Process files"
again and you will get your custom stats added to the tree view.
Oh, BTW, "Save Report" simply saves a flat version of the tree view
to a file.
Source code is included.
Good luck, enjoy, and let me know how it goes!
Friday, October 2, 2009
The JBuilder Roadmap article contains a summary of the roadmap for JBuilder 2010 and beyond. It may not include every new feature or improvement that will ultimately be available when the product is released, but should give a general idea of some of the key new features or enhancements being made. Of course, as with any product roadmap, the information is subject to change.