[Taoscript-lang] Tao development progress
Status: Beta
Brought to you by:
phoolimin
From: Limin Fu <fu....@gm...> - 2005-05-17 15:15:06
|
Hi, During the past weeks, I have made some progress in the development of Tao,= =20 including splitting subindexing operations from the numeric array types and= =20 starting to implement multi-threading supporting, simplifying the interface= s=20 for extending and embedding Tao, and supporting scripting in non-english=20 languages. In particular, the last two are almost done. Now the interfaces for extending and embedding are very simple, and easy to= =20 use, because the interfaces are abstracted as pure virtual class, and all= =20 the internal Tao data types are subclassed from these pure virtual class. S= o=20 most of the Tao data objects can be directly passed to and from C++ modules= ,=20 and with abstract interfaces these Tao objects can be easily manipulated in= =20 C++ modules. Only two _very_small_ header files taoBase.h and taoPlugin.hare required to build a loadable C++ module, no need to link to additional libraries. The embedding of Tao is even simpler than extending. The kernel of Tao is= =20 compiled into a dynamic loading library, which are also accessable through= =20 abstract interfaces defined in a header file. It's also true that one can= =20 embedding Tao with only 4 _very_small_ header files _without_ linking to Ta= o=20 library! One can have a look into file taoMain.cpp as an instance for=20 embedding. For non-english languages, Tao allow users to provide a set of alternate=20 keywords in any languages as an alternate keyword file ( *.akw ). As a=20 result, one can write Tao script in any language he/she prefers (I have=20 tried in Chinese, it works well. And this feature was done in a few hours!)= .=20 The only requirement is that the character encoding of the akw file should= =20 be the same as the encoding for the source file. This file can be provided to the Tao interpreter by option -k, if this=20 option is not present, a default akw file with the same name as the source= =20 file is searched in the current directory. akw file should include two=20 columns, for example, class ClassInChinese routine RoutineInChinese ... By providing this file to the interpreter, one can use keyword=20 "ClassInChinese" instead of "class". However, "class" is always available a= s=20 the keyword. All these features are only available in the CVS version of Tao. Cheers, FU Limin |