From: metro Chicago, Illinois, USA
The first "official" AGElint version 1.00 has been posted in message #1 of this "AGElint -- an AGE debugging toolkit" thread.
No profound changes in version 1.00. This release "just" ties up lots of loose ends. Lays the basis for future development and progress.
The first "release" of AGElint, in late October 2011, was Not Ready For Prime Time, was essentially only fit for the developer's personal use. Subsequent releases in early December 2011 were tidied up, and usable, but with not a few rough edges. This AGElint version 1.00 is the first "polished" release. Not perfect by any means, but fully usable, and (together with the forum posts here) pretty well documented.
Here are the changes in AGElint 1.00:
Changes from the first public release, on 20111209, to the first "official" release, AGElint_1.00, on 20111230:
- In agelint.conf, added acwdir, ncpdir, pondir, ropdir, rusdir, wiadir.
- For agelint.conf, priority default location changed from /usr/local/etc to /usr/local/games/etc
- Added conf.pl, for agelint.conf processing by Perl scripts.
- In agelint.c, cleaned up agelintroot & gameroot code and logic.
- Fixed broken 'make check'.
- Substituted new, vetted test files in the CHK directory tree (and revised the squelches.chk.pl file).
- In agelint, chk*.pl, common.pl, cmd.[ly], etc., cleaned up command-line arguments, and fixed all Usage: statements.
- In chkaliases.pl, filtered out some false positives.
- In txt.[ly], fixed several bugs & false positives.
- Added grprpt.pl & rmgameroot scripts to distribution.
- Emptied FIX directory tree of useless junk files.
- Added USAGE, CHANGES & TODO files to distribution.
- Other minor code & doc fixes/changes.
Nothing earth shattering in that list, mostly technical stuff.
The most important change? It is fixing the 'make check' regression tests. With each new version, with each new batch of extensions, improvements, and bug fixes, we want to ensure that no parts of the code regress, "fix" what ain't broken, (re)introduce (new) bugs. Two steps forward, one step back? No, we want to ensure forward steps only. Regression testing is essential to that.
With the 'make check' restored to working functionality, that lays the basis for future progress. For example, as I add and refine parser rules (and tweak the lexer pattern matches), I want to 'make check' every new change. In lex (lexer) and yacc (parser) programming, it's easy to blow things up! The 'make check' regression tests should help keep a lid on it.
The frequent use of 'make check', combined with a newly decided prioritization of RUS, ACW & ROP (see post #84 above), should speed up AGElint development. The more focused I am, and the more I do this, the faster it goes.
I will have more to say about the AGElint 'make check' (also use of the agelint & chklint.pl -S error "squelch" mechanism) in future posts.
But as a user, you really don't need to concern yourself with 'make check', regression testing, etc. Just use AGElint.
< Message edited by berto -- 12/30/2011 3:16:17 PM >