Warning: This is old version of the site! Return to the current version.


11 Aug 2004

Runasimi news

Added chapter about cardinal numerals in Quechua.
Though a program be but three lines long, someday it will have to be maintained.
-- The Tao of Programming

eXtrans

Writing LINGUA engine was a great experience and it has shown that eXtrans is a nice idea. It has, however, some deficiences. Some of them were already fixed (I hope to make CVS repository available soon). The two most important ones remain:

The diagnostics does not help to find out the exact place in the XML file where the error occurred. Its an awful work to scan the entire source to find out a misplaced or mistyped tag. I have made some improvements which do help in certain cases, but the main part of work is still ahead.

Keeping a separate database of target-source file dependencies makes it difficult to use eXtrans in makefiles. Both Ellinika and Runasimi use all-local rule to override the difficulty, but the solution is far from being optimal.

I'd like to rewrite eXtrans so that it produces usual makefiles instead of keeping its own database of files to be modified.

An interesting approach would be to create a derivative class from XTransBase which would override set_output so that it would add appropriate output file name to the makefile rule being generated. The rest of methods should probably simply call pass and do nothing. At the end of processing this auxiliary class would output the rules it has generated (and, possibly, purge orphan html files).

Theoretically this should work.

The related makefile rule will then look like follows:

xtrans:
	$(EXTRANS) -M $(SOURCE) > .extrans.mk
	$(MAKE) -f .extrans.mk

Bugfixes

mailutils Coredumped on reading a single escape character. Wonder why no one has noticed this before!
tar GNU multivolume cannot accept members with filenames longer than 100 characters to straddle the volume boundary. It did not check filename length, however.